在 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:L1
、Paste Special...
,勾选Transpose,确定
我在 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:L1
、Paste Special...
,勾选Transpose,确定