我需要创建一个多维数组,但我不知道数组的高度。
我得到这个值并将其存储在变量中。不幸的是,我不能在声明数组时使用变量,我需要使用常量。所以我想我可以从变量中声明一个常数,但在前面的一行中,我得到了相同的错误“需要常数表达式”。
lr = Tables.Cells(Rows.Count, 1).End(xlUp).Row
Const constlr As Integer = lr
Dim TableNamesArr(2 To constlr, 1 To 4) As String
Dim i As Integer, j As Integer
For i = 2 To lr
For j = 1 To 4
TableNamesArr(i, j) = Tables.Cells(i, j).Value
Next j
Next i
目前,3号线是问题所在-
Const constlr As Integer=lr
但是如果我去掉那一行,把所有constlr都改成lr,那么它就是第5行-
Dim TableNamesArr(2 To lr, 1 To 4) As String
.
lr就是问题所在,它需要是整数或常量,但不是包含整数的变量
如果我更改以下内容,代码可以正常工作:
Const constlr As Integer = lr
到
Const constlr As Integer = 102