vba - 查找和删除语句的适当错误控制
问题描述
目前我正在尝试扫描我的书以查找我写的 if 语句,它在其中标识唯一 ID,然后如果该 ID 不再存在则返回“不在书中”。
为了清理我看到“不在书中”的所有区域的书,我创建了一小段代码来清除所有这些条目。
Dim MWS As Worksheet
Set MWS = Sheets("Marks")
MWS.Cells.Find(what:="Not in Book", LookIn:=xlValues).EntireRow.Delete
该声明的适当方式是什么...
A. 扫描整本书以查找该短语并删除该行,而不是一次删除一行。
B. 要错误控制此语句,因此当“不在书中”不存在时,用户不会收到错误消息,而是不会发生任何事情,或者会出现一个 msgbox,说明该书是干净的。
谢谢,
解决方案
你可以这样做。将搜索分配给范围变量并检查它是否为空。
Sub x()
Dim rFind As Range, MWS As Worksheet
Set MWS = Sheets("Marks")
With MWS
Set rFind = .Cells.Find(what:="Not in Book", LookIn:=xlValues, _
Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not rFind Is Nothing Then
Do
rFind.EntireRow.Delete
Set rFind = .Cells.Find("Not in Book")
Loop Until rFind Is Nothing
Else
msgbox "Term not found"
End If
End With
End Sub
推荐阅读
- php - 如果在首页,wordpress php将用户重定向到页面
- python - 似乎无法使 python celery 信号工作
- html - 使用 webgl iframe 将 html 页面的状态保存到硬盘
- angular - 确保在检查条件之前已完成多个订阅
- amazon-web-services - Amazon Lex 在 Lambda Fulfillment 之前显示响应/消息
- php - 使用代码覆盖率处理无法访问的代码
- sql - 如何选择有两组的公司
- python - Numpy Python:如何根据条件更改二维数组元素?
- linux - Bitbake do_package_qa 错误:位置错误
- kubernetes - 如何在 Kubernetes 上摆脱此错误“network: stat /var/lib/calico/nodename: no such file or directory”