多个数组分配到excel范围

时间:2012-12-22 22:08:04

标签: excel-vba vbscript vba 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,11 ,,, 11,21,20,25,48,),R2相同。

谢谢,

1 个答案:

答案 0 :(得分: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

编辑2

可替换地:

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

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