excel - VBA 在特定工作表中搜索错误并将结果传回主宏
问题描述
我需要一个宏来搜索工作簿中特定工作表中的公式错误。这需要在每本书中具有不同工作表名称的多个不同工作簿中工作。完成检查后,我希望它定义一个名为 SheetErrors 的变量,如果有错误,则定义为“1”,如果没有错误,则定义为“0”。如果它是“1”,则需要将其传递回主宏,因为我希望它退出子宏并显示一个消息框,说明电子表格包含错误。
我编写了下面的代码来查找错误:
Sub Error_Finder()
Dim celltxt As String
Dim SheetErrors As String
celltxt = ActiveSheet.Range("A:FA").Text
If InStr(1, celltxt, "#NULL!") Or _
InStr(1, celltxt, "#NUM!") Or _
InStr(1, celltxt, "#REF!") Or _
InStr(1, celltxt, "#VALUE!") Then
SheetErrors = "1"
Else
SheetErrors = "0"
End Sub
我在 Google 上找不到任何对我有用的东西,可以将 SheetErrors 变量传递回主宏。任何你能解释的事情都将不胜感激,另外,我对 VBA 还是很陌生,所以如果有更好的方法来做我上面所做的事情,请告诉我。
谢谢,
磷
解决方案
如果你想传回一些东西,你可以考虑把它变成一个函数。看起来像这样:
编辑:感谢 K.Davis 和 Tim Williams 的建议
Function SheetErrors() As String
Dim Rng As Range
Set Rng = ActiveSheet.Range("A:FA")
On Error Resume Next
If (Rng.SpecialCells(xlCellTypeFormulas, xlErrors).count = 0) Then
SheetErrors = "0"
Else
SheetErrors = "1"
End If
On Error GoTo 0
End Function
推荐阅读
- .net - 更改 EditorConfig 以标记某些异常
- c++ - quickfix 中 SecurityListRequest 的“标签未定义”
- html - iOS 15 最小化地址栏问题,固定位置,全屏内容
- elixir - 为输入 iex shell 着色
- spring-boot - 有没有办法在 Spring Data JPA 的单个 SELECT 查询中获取具有关联类的类?
- php - 嵌套 Livewire 组件在更新时重置值
- audio - 使用 arnndn 过滤器时未找到 FFmpeg 选项“混合”
- java - 信息安全项目。提取指定文件的签名
- apache-kafka - ConsumerAwareRebalanceListener 实现
- javascript - 基于另一个数组对数组中的值求和