Excel VBA - 多维数组到非连续范围(使用单元格联合)

时间:2017-08-14 01:50:33

标签: excel-vba multidimensional-array range union cells

我正在尝试使用多维数组并将其放入一个范围内。但是,范围是分割(非连续)范围,我需要能够使用.Cells而不是标准.Range("A1")。我的下面的代码有点工作,但只放在联盟中每个范围的数组的前2个实例中。

请参阅以下内容:

 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 个答案:

答案 0 :(得分:0)

...试

 Range("A78:A79").Value = Application.Index(TestArray, 0, 1)
 Range("D78:D79").Value = Application.Index(TestArray, 0, 2)
 Range("F78:F79").Value = Application.Index(TestArray, 0, 3)

希望这有帮助!