excel - 出错时显示单元格地址和消息框并退出宏,如果没有,继续
问题描述
我想首先检查我的 Range 是否有 #NA 错误,然后在退出宏之前显示包含错误的单元格地址。这是我到目前为止所做的。
现在,如果存在错误,我想向MsgBox
用户显示错误警告并停止程序的其余部分执行,如果没有,那么我希望它继续执行其余部分该程序
检查 NA 错误:
For Each c In myRange
If IsError(c) = True Then
Debug.Print c.Address
End If
Next c
MsgBox "Check for errors and run gain"
Exit Sub
'continuation of the program
解决方案
我认为这可以解决问题:
Dim errorArray()
Dim i As Integer
Dim checkArray As Integer
Dim errorString As String
For Each c In myRange
If IsError(c) = True Then
ReDim Preserve errorArray(i)
errorArray(i) = c.Address
i = i + 1
End If
Next c
On Error Resume Next
checkArray = UBound(errorArray)
If Err = 0 Then
errorString = "An error(s) occured in following cell(s):" & Chr(10)
For i = 0 To UBound(errorArray)
errorString = errorString & errorArray(i) & Chr(10)
Next
MsgBox errorString
Exit Sub
End If
Err.Clear
On Error GoTo 0
推荐阅读
- robotframework-ide - 无法运行程序“robot”(在目录“/Users/Seema/Robot/freecrm_repo”中):错误=2,没有这样的文件或目录
- stanza - 如果存在元组中的元素,如何找到它的索引?
- python - 在 Python 中解析凌乱的 XML
- c++ - 禁用定时器时出现硬故障?
- unit-testing - 如何对 registry.gitlab.com 中的镜像进行单元测试和部署到自托管 microk8s
- java - Firebase 管理员 - Gradle - Fat Jar - 无法正常工作
- python - 合理的项目结构
- android - 传递数据总是返回 0
- c# - 如何在 Rx.NET 中组合两个不同的 GroupedStreams?
- sql-server - IN() 中子查询的 csv 导致转换错误