在一个范围内减去一个循环

尝试创build一个dynamic的循环select,意图将每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列的select。 我将在后面的代码中粘贴到3个第一列的底部。 我遇到的问题是这条线:

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

我在哪里试图减去3给iCol2给我3列的范围,我想要的。 我甚至不确定这样的事是否可能,结果似乎没有做任何事情,并使其难以排除故障。 iCol2最终将被用于一个循环来移动我所有的列。

更改:

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

至:

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