在 VBA 中重复几个数字一定次数

Repeating a several numbers a set number of times in VBA

我在 spreadsheet 的一列中有一列 47 个数字。在另一个 sheet 中,我希望将数字转置成一行。我这样做是使用此代码

Worksheets.Add(Before:=Worksheets(1)).Name = "Calc"

Dim k As Integer

For k = 1 To 47

Worksheets("Calc").Cells(1, k).Value = Worksheets("Reformulering").Cells(k + 1, 2).Value

Next k

但是,我希望每个数字在下一个数字出现之前在行中重复 12 次。谁能想出一个方法来做到这一点?

最佳,

ID

是的,添加另一个从 1 运行到 12 的循环,如下所示:

Worksheets.Add(Before:=Worksheets(1)).Name = "Calc"

Dim k As Integer
Dim i As Integer

For k = 1 To 47
    For i = 1 To 12
        Worksheets("Calc").Cells(1, ((k - 1) * 12) + i).Value = Worksheets("Reformulering").Cells(k + 1, 2).Value
    Next i
Next k

无需循环即可转置值

[Calc!A1:L47] = Application.Transpose([Reformulering!B2:AV2])

类似于复制范围,选择Calc!A1:L1Paste Special...,勾选Transpose,确定