[英]How to dynamically add elements in an array inside a loop
我有一個包含幾張工作表的工作簿,我需要創建一個僅包含所需工作表的數組。 所以我有這段代碼跳過了一些硬編碼的工作表名稱,但我不知道如何在我的數組“sheets_names_array”中添加想要的工作表。 我有這個代碼:
' make an array with the sheet names we want to parse
Dim sheets_names_array() As Variant, sheet As Variant
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Qlik Ingestion"
'Do nothing
Case "Dropdown Values"
'Do nothing
Case "VBmacro"
'Do nothing
Case Else
'MsgBox ws.Name
sheets_names_array.Add (ws.Name)
End Select
Next
但是“添加”方法不起作用。 請問你知道如何解決這個問題嗎? 我看過使用 ReDim 的文檔,但我不確定如何遍歷“sheets_names_array”表的元素
您可以改用集合
Dim sheets_names_col As New Collection
並添加您的項目,例如
sheets_names_col.Add ws.Name
Dim sheets_names_col() As New Collection
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Qlik Ingestion", "Dropdown Values", "VBmacro"
' do nothing
Case Else
sheets_names_col.Add ws.Name
End Select
Next ws
你可以像這樣循環它
Dim sheet As Variant
For Each sheet In sheets_names_col
Debug.Print sheet
Next sheet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.