На данный момент я работаю над исследовательским проектом для моего университета в Excel. Теперь у меня есть определенный диапазон BF1:DJ293, который нужно скопировать и пропустить 238 раз вправо. Таким образом, этот диапазон должен быть скопирован в DK1: FO293 и т.д. И т.д. Так точно рядом с предыдущей копией. Я понятия не имею, как писать макросы, и мне было интересно, есть ли у кого-нибудь из вас идеи, как это сделать?

1 ответ1

1

Итак, что-то вроде этого возьмет диапазон A1:10 и скопирует его в C1:D10

Sub test()
Range("A1:B10").Copy
Range("C1").PasteSpecial xlPasteValues
End Sub

Нам нужен способ рассчитать, насколько большим будет диапазон, и использовать его во время итерации. Нечто подобное должно работать -

Sub test()
Dim start As Integer
Dim finish As Integer
Dim change As Integer

start = Range("BF1").Column
finish = Range("DJ293").Column
change = finish - start

For i = 1 To 238
    Range(Cells(1, start), Cells(293, finish)).Copy
    Cells(1, finish + 1).PasteSpecial xlPasteValues
    start = (Cells(1, finish + 1).Column)
    finish = start + change
Next

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .