2012-12-22 68 views
-2

只是出于好奇,我问你一个问题是如下:多个数组赋值到Excel范围

假设我有一个数组A1(6)=(45,25,36,88 ),A2(6)=(14,25,11),A3(6)=(11,21,20,25,48)。现在我们可以在单个数组赋值到一行,就像这里所有的行到一个Excel的范围,在这里说“C1:R3”范围。

编辑

如果我需要将它们分配给一排像R1 < - A1 + A2 + A3,R2 < - A1 + A2 + A3。你能告诉我如何做到这一点?

R1 < - (45,25,36,88),14,25,115,11,21,20,25,48,)对于R2是相同的。

感谢,

+0

第二部分不完全清楚。你能否详细说明一下?我无法完全理解你想要的价值观以及你想要的东西。具体来说,R1和R2是指什么? A1 + A2 + A3是数组的串联还是矩阵加法? – newb

回答

2
Dim A(2,5) 
    For i = 0 to 5 
     A(0, i) = A1(i) 
     A(1, i) = A2(i) 
     A(2, i) = A3(i) 
    Next i 
    Range("C1:R3").Value = A 

编辑

对于第二部分,尽我的理解:

Dim R(17) 
    For i = 0 To 2 
     For j = 0 To 5 
      R(6 * i + j) = A(i, j) 
     Next j 
    Next i 
    Range("C5:T5").Value = R 

EDIT 2

或者:

Dim R 
    R = Split(Join(A1, ",") & "," & Join(A2, ",") & "," & Join(A3, ","), ",") 
    Range("C5:T5").Value = R 

您可以使用您喜欢的任何分隔符(如果它适合您的数据)。

+0

非常感谢你的回答,现在该怎么做第二部分?请参阅**编辑** –

+0

每行将包含三个数组的合并值。我现在清楚了吗? –

+0

请参阅**编辑**请! –