有没有比使用 for 循环在单元格中查找公式的第一个实例更快的方法?
For Each dc In .Worksheets("testWS").Range(searchRange)
If dc.hasFormula() = True Then
formulaRow = Split(dc.Address, "$")(2)
formula = dc.formula
Exit For
End If
Next
Run Code Online (Sandbox Code Playgroud)
不需要循环 - 使用Range.SpecialCells
. 包括错误处理,因为可能没有带有公式的单元格。
On Error Resume Next
Dim formulaRng As Range
Set formulaRng = .Worksheets("testWS").Range(searchRange).SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not formulaRng Is Nothing Then
Debug.Print formulaRng.Cells(1).Row
Debug.Print formulaRng.Cells(1).Formula
End If
Run Code Online (Sandbox Code Playgroud)