mez*_*hic 6 excel vba excel-vba
我有一个电子表格,其中包含许多请求数据的函数调用.我正在编写一个函数(在VBA中)来检查是否有任何单元格包含错误值"#VALUE"等.
目前我逐行逐行迭代,首先检查单元格是否包含公式,如果是,则检查instr为"#VALUE","#N/A"等.
但是,我想知道是否可以更快地模拟在Excel中单击整列,然后在CBA中"ctrl + f"获取值...
什么是最有效的方式?我正在检查27列×1200行大的表.
编辑我刚刚意识到有些单元格有"#N/A",这是因为它们不包含特定的公式.我只需要搜索包含特定公式的单元格......这可能吗?
EDIT2我实际上需要记录一个返回resutls的宏,就像"find all"一样.我使用"查找",我可以得到一个布尔值,但"找到所有"并没有记录任何VBA代码....
您可以使用SpecialCells仅返回包含错误的单元格.
Sub Demo()
Dim sh As Worksheet
Dim rng As Range, cl As Range
For Each sh In ActiveWorkbook.Worksheets
Set rng = Nothing
On Error Resume Next
Set rng = sh.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors)
On Error GoTo 0
If rng Is Nothing Then
Debug.Print "No Errors"
Else
For Each cl In rng
If cl.Formula Like "*" Then ' <-- replace * with your criteria
Debug.Print cl.Address
End If
Next
End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)