2
我試圖將多維數組放入一個範圍。但是,範圍是分割(非連續)範圍,我需要能夠使用.Cells
而不是標準.Range("A1")
。我的下面的代碼在某種程度上起作用,但是對於聯盟中的每個範圍來說,只能放在數組的前兩個實例中。Excel VBA - 將多維數組轉換爲非連續區域(使用單元格聯合)
請參閱以下內容:
Dim TestArray(1 To 2, 1 To 3) As Integer
TestArray(1, 1) = 1
TestArray(2, 1) = 2
TestArray(1, 2) = 3
TestArray(2, 2) = 4
TestArray(1, 3) = 5
TestArray(2, 3) = 6
Union(Range(Cells(78, 1), Cells(79, 1)), Range(Cells(78, 4), Cells(79, 4)), _
Range(Cells(78, 6), Cells(79, 6))).Value = TestArray
我的結果如下:
A78=1
A79=2
D78=1
D79=2
F78=1
F79=2
我要像我的結果:
A78=1
A79=2
D78=3
D79=4
F78=5
F79=6
任何幫助,將不勝感激!
這需要通用性如何?沒有直接的方法來使用'='就像你試過的一樣,所以你可能需要編寫一個輔助函數。函數的複雜程度取決於** 1這樣的東西**你能否始終保證範圍將有正確的行數/列數** 2是否數組的大小總是相同** 3.同一行上的單元格總是觸摸等等。如果它總是和你的例子一樣簡單,那麼分別分配3行就行(如Domenic的答案) – Wolfie