天天看点

Excel工作表中定位最后单元格(FIND方法)

前一篇博客讲解了如何使用

END属性

最后单元格。

Excel工作表中定位最后单元格(END属性)

在VBA中还有其他的方法可以用来定位最后单元格。工作表中示例数据如下图所示,注意其中A4为空,A6至A7单元格看似空白,其实是有内容的,A6为零长度公式,A7为空格,A8为前缀字符。

Excel工作表中定位最后单元格(FIND方法)

示例代码如下。

Sub Demo2()
    Dim rngLast As Range
    Set rngLast = Columns(1).Find(What:="*", After:=Range("A1"), _
        LookIn:=xlFormulas, SearchDirection:=xlPrevious)
    If rngLast Is Nothing Then
        Debug.Print "A列全空"
    Else
        Debug.Print "最后单元格:"; rngLast.Address
    End If
    Set rngLast = Nothing
End Sub

           

运行示例代码,结果如下。

最后单元格:$A$7

如果A列为空,那么将在立即窗口中输出。

A列全空

【代码解析】

FIND方法

SearchDirection参数

设置为

xlPrevious

,其含义为从

After参数

指定的单元格开始向前查找,由于A1是A列第一个单元格,因此接下来扫描该列的最后一个单元格,

What参数

指定为星号,代表可以匹配任何单元格内容。

注意:由此示例可以看出,使用

FIND方法

定位最后单元格时,仅有前缀字符的单元格(即A8)不包含在内。