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