0
我想從2個獨立的列中使用數據來定義一個2-d數組。該代碼當前僅將我的數組定義爲第一列(range1),而忽略第二列(range2)。這是由於我的一個錯誤,或者我可以不使用unionized(是正確的術語?)範圍來定義一個數組?你可以使用聯合範圍來定義一個數組嗎?
Sub define_array()
Dim FTSE100() As Variant
Dim wsh As Worksheet
Dim range1 As Range
Dim range2 As Range
Dim finalrange As Range
Dim a As Integer
Dim finalrow As Integer
' define array
Set wsh = Sheet2
wsh.Activate
finalrow = Range("a1").End(xlDown).row
Set range1 = Range(Cells(1, 1), Cells(finalrow, 1))
Set range2 = Range(Cells(1, 5), Cells(finalrow, 5))
Set finalrange = Union(range1, range2)
' FTSE100 = finalrange
' Sheet15.Range("A:B") = FTSE 100
' Original code ended here
ReDim FTSE100(1 To finalrange.Areas.Count)
For a = 1 To finalrange.Areas.Count
FTSE100(a) = finalrange.Areas(a)
Next
With Sheet15.Range("A:B")
For a = 1 To .Columns.Count
.Columns(a).Resize(UBound(FTSE100(a))).Value = FTSE100(a)
Next
End With
End Sub
這似乎已經做到了,謝謝你的幫助。
我試過了,它沒有拋出錯誤,但它也似乎沒有定義數組。現在,當我運行它時,沒有任何內容出現在表格15中,並嘗試從數組的msgbox值拋出錯誤。 – Kaz 2014-10-29 16:56:48
然後你沒有嘗試它的權利。請修改您的Q以顯示您當前*試圖實施的代碼,然後我會看到看起來是什麼問題:) – 2014-10-29 16:59:23
您也無法以這種方式寫出Sheet15。 – 2014-10-29 17:00:05