从下面的活动文本中select30个单元格,以达到excel vba
你好,我想复制我列B的最后30个单元格。
下面的代码复制到右边,但我希望它只复制列b的最后30个单元格
Sub test() Range(ActiveCell, ActiveCell.Offset(0, 30)).Copy End Sub
请帮助。 最好的祝福
你可以试试这个:
With Cells(Rows.Count, "B").End(xlUp) Range(.Cells, .Offset(WorksheetFunction.Max(-.Row + 1, -29))).Copy End With
并处理的情况下,有不到30个最后的单元格
find列B中的最后一行(包括中间的空行),然后复制范围(从29行下降到find的最后一行)。
注意 :尽量不要使用ActiveCell
,而应使用完全限定的Range
。
Dim LastRow As Long LastRow = Cells(Rows.Count, "B").End(xlUp).Row Range("B" & LastRow - 29 & ":B" & LastRow).Copy
在将来,我强烈build议通过查找所使用函数的参数来解决您的问题。 请参阅以下固定代码:
Sub test() Range(ActiveCell, ActiveCell.Offset(-29, 0)).Copy End Sub
单程:
Sub dural() Dim N As Long N = Cells(Rows.Count, "B").End(xlUp).Row Range("B" & N - 29 & ":B" & N).Copy End Sub