2015-09-10 2 views
0

Пытается создать динамический цикл с намерением разрезать каждые 3 столбца и вставить их в первые 3 столбца в нижней части данных. Довольно новый для VBA и интересно, если можно сделать следующее:Вычитание в пределах диапазона для цикла

Sub ColumnCut() 
    Dim iCol2 As Long 
    Dim LastRow As Long 
    Dim CutRange As Range 
     iCol2 = 78 
     LastRow = Range("A" & Rows.Count).End(xlUp).Row 
     CutRange = Range(Cells(1, iCol2), Cells(LastRow, iCol2 - 3)) 
     CutRange.Select 
End Sub 

Так CutRange должен содержать выбор из 3-х колонок, которые я хочу, чтобы сократить. Который я позже кодирую, чтобы вставить внизу 3 первых столбцов. Проблема у меня с этой линии:

CutRange = Range(Cells(1, iCol2), Cells(LastRow, iCol2 - 3)) 

Где я пытаюсь вычесть 3 к iCol2, чтобы дать мне диапазон 3 колонки я хочу. Я даже не уверен, возможно ли что-то подобное, результаты, похоже, ничего не делают и затрудняют устранение неполадок. iCol2 в конечном итоге будет использоваться в цикле для перемещения всех столбцов, которые у меня есть.

+0

Вы должны 'установить cutrange' – Raystafarian

ответ

1

Изменение:

CutRange = Range(Cells(1, iCol2), Cells(LastRow, iCol2 - 3)) 

к:

Set CutRange = Range(Cells(1, iCol2), Cells(LastRow, iCol2 - 3)) 
Смежные вопросы