VBA转到最后一个空行

问题描述 投票:4回答:2

我在excel宏上有一个项目,我需要突出显示具有空值的下一行。示例单元格A1:A100有数据,下一个单元格A101为空。

当用户点击一个按钮时,它应突出显示单元格A101 ...

excel vba excel-vba
2个回答
12
投票

如果您确定只需要A列,则可以在VBA中使用End函数来获得该结果。

如果所有单元格A1:A100都已填满,则选择下一个空单元格使用:

Range("A1").End(xlDown).Offset(1, 0).Select

这里,End(xlDown)相当于选择A1并按下Ctrl +向下箭头。

如果A1:A100中有空白单元格,那么您需要从底部开始并继续前进。你可以通过结合使用Rows.Count和End(xlUp)来实现这一点,如下所示:

Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select

更进一步,这可以推广到选择一系列单元格,从您选择的点开始(不仅仅是在A列中)。在下面的代码中,假设您在单元格C10:C100中有值,其间插入空白单元格。您希望选择所有单元格C10:C100,而不知道该列在第100行结束,首先手动选择C10。

Range(Selection, Cells(Rows.Count, Selection.Column).End(xlUp)).Select

上面这行可能是作为VBA程序员知道的更重要的一行,因为它允许您根据非常少的标准动态选择范围,而不会被中间的空白单元格困扰。


2
投票

试试这个:

Sub test()

With Application.WorksheetFunction
    Cells(.CountA(Columns("A:A")) + 1, 1).Select
End With

End Sub

希望这对你有用。

© www.soinside.com 2019 - 2024. All rights reserved.