Повторение нескольких чисел определенное количество раз в 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...проверьте транспонировать и ОК

Другие вопросы по тегам