我想在使用联合连接范围时创建一个变量数组。
如果我选择其中一个范围,变量数组将起作用。
合并时,只接收行维度,而不接收列维度。
例如,
Sub arrTest()
'Declare varbs
Dim ws As Worksheet
Dim myArr() As Variant
Dim lRow As Integer
Dim myRng As Range
'Assign varbs
Set ws = ThisWorkbook.Worksheets("Sheet1")
With ws
lRow = .Cells(Rows.count, "C").End(xlUp).row
Set myRng = Application.Union(.Range("G3:G" & lRow), .Range("J3:O" & lRow), .Range("AD3:AE" & lRow), .Range("AI3:AI" & lRow))
myArr = myRng.Value2
End With
将返回的变体
我的Arr(1,1)
我的Arr(2,1)
我的Arr(1、3)
但是,如果我选择联合中的一个范围,例如:
Sub arrTest()
'Declare varbs
Dim ws As Worksheet
Dim myArr() As Variant
Dim lRow As Integer
Dim myRng As Range
'Assign varbs
Set ws = ThisWorkbook.Worksheets("Sheet1")
With ws
lRow = .Cells(Rows.count, "C").End(xlUp).row
Set myRng = .Range("J3:O" & lRow)
myArr = myRng.Value2
End With
我完全明白
我的Arr(1,1)
我的Arr(1、2)
我的Arr(1、3)
等等。
如何返回列维度,而不循环遍历工作表?
1条答案
按热度按时间wfveoks01#
就像这样: