非连续范围转换为单维数组

我有一个数组声明如下:

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

我想添加另一个Range.Range(“D1:D”&last_row).Value2它,我会怎么做呢?

或…任何简单的方法来创build一个非连续的范围数组? 我需要一个没有空白的单维数组,作为后续范围的结果

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

单程:

 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