避免将属性或方法的名称重新用作变量

将属性或方法的保留名称重新用作你自己的过程和变量的名称通常不被视为最佳实践

错误的表单 - 虽然以下(严格来说)是合法的,但是工作代码重新使用 Find 方法以及地址属性可能会导致名称歧义的问题/冲突,并且通常很容易混淆。

Option Explicit

Sub find()
    Dim row As Long, column As Long
    Dim find As String, address As Range
    
    find = "something"
    
    With ThisWorkbook.Worksheets("Sheet1").Cells
        Set address = .SpecialCells(xlCellTypeLastCell)
        row = .find(what:=find, after:=address).row        '< note .row not capitalized
        column = .find(what:=find, after:=address).column  '< note .column not capitalized
        
        Debug.Print "The first 'something' is in " & .Cells(row, column).address(0, 0)
    End With
End Sub

良好的形式 - 将所有保留字重命名为原始的近似但独特的近似值,避免了任何潜在的命名冲突。

Option Explicit

Sub myFind()
    Dim rw As Long, col As Long
    Dim wht As String, lastCell As Range
    
    wht = "something"
    
    With ThisWorkbook.Worksheets("Sheet1").Cells
        Set lastCell = .SpecialCells(xlCellTypeLastCell)
        rw = .Find(What:=wht, After:=lastCell).Row         '◄ note .Find and .Row
        col = .Find(What:=wht, After:=lastCell).Column     '◄ .Find and .Column
        
        Debug.Print "The first 'something' is in " & .Cells(rw, col).Address(0, 0)
    End With
End Sub

虽然有时你可能想要根据自己的规格有意重写标准方法或属性,但这些情况很少见。在大多数情况下,请远离为自己的构造重用保留名称。