Повторение нескольких чисел определенное количество раз в VBA
У меня есть столбец из 47 номеров в столбце в электронной таблице. На другом листе я хочу, чтобы числа были перенесены в ряд. Я сделал это с помощью этого кода
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 раз подряд, прежде чем придет следующее число. Кто-нибудь может придумать способ сделать это?
Лучший,
Я БЫ
2 ответа
Решение
Да, добавьте еще один цикл, который запускается с 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...
проверьте транспонировать и ОК