我尝试使用以下代码将Excel VBA中的工作表名称添加到数组中。它只选择一个值(始终是最后一个工作表名称)。例如,如果我有2个工作表:List1和List2,则仅选择List2,并显示第一个工作表的空值。如果我添加4,则仅显示第4个,以此类推。我不确定为什么会得到空值。
Dim curSheet As Worksheet
Dim ArraySheets() As String
Dim x As Variant
For Each curSheet In ActiveWorkbook.Worksheets
If curSheet.Name Like "*List*" Then
ReDim ArraySheets(x)
ArraySheets(x) = curSheet.Name
x = x + 1
End If
Next curSheet
ReDim ArraySheets(x)
替换为ReDim Preserve ArraySheets(x)
。这样做可以保留数组的现有元素并扩大数组的大小,而不会丢失任何数据。 - omegastripes