2015-07-03 96 views
1

我有一个数组声明如下:非连续范围成单维阵列

MyArr = Sheets("xls").Range("A1:A" & last_row).Value2 

我想另一个范围.Range(“D1:d” & last_row)来添加.Value2到它,如何将我做到了吗?

或...任何简单的方法来创建一个数组从非连续的范围?我需要不空格的单维数组从后续的结果范围

Range("A1:A100") and Range("AL1:AM:120) 

回答

0

方式一:

Sub dural() 
    Dim ary() As Variant, i As Long 
    Dim r As Range 
    i = 1 
    For Each r In Union(Range("A1:A100"), Range("AL1:AM120")) 
     If r.Value <> "" Then 
      ReDim Preserve ary(1 To i) 
      ary(i) = r.Value 
      i = i + 1 
     End If 
    Next r 
    MsgBox i 
End Sub 
+0

它的工作原理,谢谢 – Gotrekk