Я новичок в VBA, но я учусь. У меня есть рабочий лист «Модель», который имеет 18 таблиц. Я определил их диапазоны с «началом» и «концом». Итак, как вы можете видеть в VBA ниже, первая таблица находится в C3: E13 и последней таблице в C224: E234. Я хочу скопировать их и вставить их один за другим в Sheet1.VBA for-loop с тремя переменными
Там они должны быть вставлены в ячейки B5, B21, B38, ..., B166. Итак, первая таблица должна быть вставлена в B5, вторая в B21 и т. Д.
Итак, мой вопрос в том, как я могу создать эту переменную 'output' (которая определяет выходную строку) в моем for-loop?
Dim start As Long
Dim eind As Long
Dim output As Long
For start = 3 To 224 Step 13
end = start + 10
'output = --->>> this should be 5, 21, 38, ..., 166.
'So something like output = 5 To 166 Step 16
Sheets("Model").Select
Range("C" & start & ":E" & end).Select
Selection.Copy
Sheets("Sheet1").Select
Range("B" & output).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next start
Большое спасибо!
ли это на самом деле * Таблица * (например, от Вставки> Таблицы ленты)? –
(FYI, рекомендуется избегать использования '' .Select'/'.Activate'] (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)) – BruceWayne