我有一个看似基本的问题,但找不到解决它的任何资源。
简而言之,我只想将一个单元格范围(全部为一列)的内容加载到数组中。
我能够通过
DirArray = Array(Range("A1"), Range("A2"))
但是由于某种原因,我无法以这种方式创建数组:
DirArray = Array(Range("A1:A2"))
我的实际Range更长(并且长度可能会有所不同),因此我不想以这种方式单独枚举单元格。谁能告诉我如何正确地将整个范围加载到数组中?
使用后面的代码:
MsgBox UBound(DirArray, 1)
和
MsgBox UBound(DirArray)
返回0,而使用前者则返回1。
最佳答案
只需将变量定义为变量,并使它们相等即可:
Dim DirArray As Variant
DirArray = Range("a1:a5").Value
不需要Array命令。
关于arrays - 从VBA中的范围创建阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37689847/