2012-12-22 101 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

請參閱**編輯**請! –