Vba 设置一个动态数组

Vba 设置一个动态数组,vba,excel,Vba,Excel,我想根据列表的大小构建一个数组。因此,我尝试以下方法: Range("D3").Select Set x = Range(Selection, Selection.End(xlDown)) Dim totalRows As Integer totalRows = (x.Rows.Count) - 1 Dim strCDRack(0 To totalRows) As String 然而,这给了我一个编译错误。这很奇怪,因为当我用3替换totalRows时,它确实起作用了 Range("D3"

我想根据列表的大小构建一个数组。因此,我尝试以下方法:

Range("D3").Select
Set x = Range(Selection, Selection.End(xlDown))

Dim totalRows As Integer
totalRows = (x.Rows.Count) - 1

Dim strCDRack(0 To totalRows) As String
然而,这给了我一个编译错误。这很奇怪,因为当我用3替换totalRows时,它确实起作用了

Range("D3").Select
Set x = Range(Selection, Selection.End(xlDown))

Dim totalRows As Integer
totalRows = (x.Rows.Count) - 1

Dim strCDRack(0 To 3) As String

你有没有想过我该如何让这一切顺利进行

你基本上已经自己回答了你的问题;)(关于错误的原因,当然不是解决方案)。不能
Dim
可变维度的数组(如错误消息中所述,或多或少)

使用

Dim strCDRack() As String
ReDim strCDRack(0 To totalRows)