假设工作表中只有一个非空单元格,并且您希望宏找到它。到目前为止,我有以下代码,但我正在努力调整它,所以它搜索所有列,而不仅仅是一个:
Sub FirstNonEmpty()
Dim ws As Worksheet
Set ws = ActiveSheet
For Each cell In ws.Columns(1).Cells
If Not IsEmpty(cell) = True Then cell.Select: Exit For
Next cell
End Sub
也许在“ws.Columns(1).Cells”中有一种方法可以使用等于所有列的变量而不是“1”?
答案 0 :(得分:1)
如果非空白单元格不包含公式,则可以使用顶部公式,如果是公式,则使用xlcelltypeformulas。如果您知道存在非空白,则不需要On Error。事实上,如果肯定只有一个你不需要(1)。
On Error Resume Next
ActiveSheet.Cells.SpecialCells(xlCellTypeconstants)(1).Select
'or
'ActiveSheet.Cells.SpecialCells(xlCellTypeformulas)(1).Select
答案 1 :(得分:1)
或者你可以尝试一下......
Dim Rng As Range
Set Rng = Cells.Find(what:="*", LookIn:=xlValues)
If Not Rng Is Nothing Then
Rng.Select
End If
答案 2 :(得分:0)
您可以将For
语句更改为:
For Each cell In ws.UsedRange.Cells
,它的好处是不扫描工作表末尾的行/列。