设置动态数组

时间:2016-07-17 09:40:24

标签: 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

然而,这给了我一个编译错误。这是奇怪的原因当我将totalRows替换为3时它确实有效

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

关于如何使这项工作的任何想法

1 个答案:

答案 0 :(得分:1)

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

使用

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