Сначала вам нужно будет скопировать каждый свой диапазон по одному.
Если ваши диапазоны B4:B48, C4:C48,D4:D48...GT4:GT48
следуют правилу, как всегда один столбец справа, тогда вы можете использовать al oop, проходя по всем столбцам , B
- это столбец № 2, а GT
- это столбец № 202. Таким образом, вы можете l oop, как
Dim iCol As Long
For iCol = 2 To 202
'your code here
Next iCol
. Диапазоны, например B4:B48
, можно динамически записать как
ws.Range(ws.Cells(4, iCol), ws.Cells(48, iCol))
, что означает, что если iCol = 2
, то Cells(4, iCol)
равно B4
, а Cells(48, iCol)
равно B48
, поэтому оно представляет диапазон между этими двумя ячейками. На следующей итерации Next iCol
увеличится на iCol
на единицу, поэтому та же строка представляет столбец C сейчас.
Обратите внимание, что в приведенном выше коде ws
представляет ваш рабочий лист, вы должны указать это в начиная с того, что вы можете использовать этот ярлык ws
:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("YourSheetName")
Вам также нужно будет найти последнюю использованную ячейку в столбце B, чтобы определить место, где вам нужно вставить свой диапазон. Хороший способ сделать это:
Dim LastUsedRow As Long
LastUsedRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
Так что теперь ваша следующая свободная строка в столбце B - LastUsedRow + 1
, и это то место, куда вы должны вставить.
Попробуйте его самостоятельно, сделайте небольшое исследование, если вы застряли. Я дал вам многое из того, что вам нужно. Остальные должны быть действительно базовыми c вещами, которые вы можете легко выяснить, прочитав некоторые базовые c руководства или google.
Две последние вещи, которые не дадут вам столкнуться с общими проблемами:
Я рекомендую всегда активировать Option Explicit
: в редакторе VBA go до Инструменты › Параметры › Требуется объявление переменной и должным образом объявите все свои переменные.
Возможно, вам будет полезно прочитать Как избежать использования Select в Excel VBA . Следует избегать использования .Select
или .Activate
любой ценой. Это замедляет все много и ваш код легко столкнется с проблемами рано или поздно.