我有一个for循环,每个循环产生一个范围,格式如下:
MsgBox currentRange.Address
输出
$A$4:A$1000
$D$4:D$1000
$Z$4:Z$1000
每个循环一个值。
如何将所有这些范围组合到一个更大的范围内,以便使用vba代码读入数组。
我尝试使用像
这样的东西bigRange = Application.Union(bigRange, currentRange)
在循环中,但这不起作用。
答案 0 :(得分:2)
试试这个:
Set bigRange = Application.Union(bigRange, currentRange)
你忘了Set
。它需要因为Range是对象。要获取地址,请使用bigRange.Address
。
还要确保初始化bigRange
If bigRange Is Nothing Then
Set bigRange = currentRange
End If