VBA,空单元格位于最后一行

时间:2018-10-15 17:22:15

标签: excel vba

在VBA Excel宏中, 我从另一张纸复制行,选择另一张纸,并尝试在粘贴之前查找下一个打开的单元格。

Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues 

页面具有第一列标题,然后查找,然后将其传递到最后一行?

https://ibb.co/kjdWi0

如果是伪数据

放在第二行,或者如果已经有数据,

有效。

为什么这样做?

2 个答案:

答案 0 :(得分:2)

Range.End(xlDown)等效于按 Ctrl +

自行测试-如果第1行中只有标题,则将跳至Worksheet中的最后一行。如果标题下方有数据,则将移至该行。

使用Range.End(xlUp)通过从Worksheet的最后一行上移 up 来查找下一个可用行-像这样:

With Sheet1
    .Cells(.Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial xlPasteValues
End With

答案 1 :(得分:0)

根据您的数据布局,您可以使用:

Cells(WorksheetFunction.CountA(Columns(1)) + 1, 1).PasteSpecial Paste:=xlPasteValues 

或者,使用显式工作表引用(推荐):

With Worksheets("mySheetName")
    .Cells(WorksheetFunction.CountA(.Columns(1)) + 1, 1).PasteSpecial Paste:=xlPasteValues
End With