簡體   English   中英

如何在循環內的數組中動態添加元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM