我在excel宏上有一个项目,我需要突出显示具有空值的下一行。示例单元格A1:A100有数据,下一个单元格A101为空。
当用户点击按钮时,它应突出显示单元格A101 ...
答案 0 :(得分:13)
如果您确定只需要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程序员最重要的一句话,因为它允许你根据很少的标准动态选择范围,而不会被中间的空白单元格所困扰。
答案 1 :(得分:2)
试试这个:
Sub test()
With Application.WorksheetFunction
Cells(.CountA(Columns("A:A")) + 1, 1).Select
End With
End Sub
希望这适合你。
答案 2 :(得分:0)
做到这一点:
Do
c = c + 1
Loop While Cells(c, "A").Value <> ""
'prints the last empty row
Debug.Print c