使用 VBA 在 Excel 范围内查找第一个公式的最快方法是什么?

Wil*_*ies 1 excel vba

有没有比使用 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)

Big*_*Ben 7

不需要循环 - 使用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)