Как объединить несколько циклов в один в программе VBA?

Я довольно неопытен с VBA, и я не могу понять, как сделать этот цикл. Я настроил 4 отдельных заявления, и это работает таким образом, но я хочу сделать это одно заявление.

i = 1
Do Until i > combos
        Range(Cells(i, 10), Cells(i + Defrepeat - 1, 10)) = Range(Cells(3, 4), Cells(3, 4))
i = i + TErepeat
Loop

w = 4
Do Until w > combos
        Range(Cells(w, 10), Cells(w + Defrepeat - 1, 10)) = Range(Cells(4, 4), Cells(4, 4))
w = w + TErepeat
Loop

p = 7
Do Until p > combos
        Range(Cells(p, 10), Cells(p + Defrepeat - 1, 10)) = Range(Cells(5, 4), Cells(5, 4))
p = p + TErepeat
Loop

k = 10
Do Until k > combos
        Range(Cells(k, 10), Cells(k + Defrepeat - 1, 10)) = Range(Cells(6, 4), Cells(6, 4))
k = k + TErepeat
Loop 

1 ответ

Dim c As Range, i As Long, n As Long

Set c = Cells(3, 4)

For n = 1 To 10 Step 3
    i = n
    Do Until i > combos
        Range(Cells(i, 10), Cells(i + Defrepeat - 1, 10)) = c.Value
        i = i + TErepeat
    Loop
    Set c = c.Offset(1, 0)
Next n
Другие вопросы по тегам