vba - 查找范围内的文本,如果没有找到,则继续每个循环
问题描述
目标:在 B14:C18 中搜索“Global Outperformance Details”,如果找到,则在 B14:C16 周围添加边框,如果没有找到,则转到下一个 sht(继续循环)。Find 语句运行良好(我已经 debug.printed 以在单个工作表上进行测试),但如果 find 什么都没有,我就是不知道如何正确跳到下一张工作表。
问题:我收到“91”错误(对象或未定义变量)FindGlOutperfDet =
,我知道当 Find 没有结果时会发生该错误。我已经在各个工作表上测试了代码(没有 for each 循环),它可以在找到文本时将边框放置到位,并在找不到文本时抛出相同的错误。
我已经浏览了以下页面,但仍然出现错误。
尝试1:
Sub Findtext()
Dim FindGlOutperfDet As Long
Dim Sht As Worksheet
For Each Sht In Worksheets
FindGlOutperfDet = Sht.Range("B14:C18").Find(What:="Global Outperformance Details", After:=Range("B18"), LookAt:=xlPart, LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
If Not IsError(FindGlOutperfDet) Then
Sht.Range("B14:C16").BorderAround ColorIndex:=1, Weight:=xlMedium
End If
Next Sht
End Sub
尝试2:
Sub FindSomeCells123()
Dim FindGlOutperfDet As Range
Dim Sht As Worksheet
For Each Sht In Worksheets
FindGlOutperfDet = Sht.Range("B14:C18").Find(What:="Global Outperformance Details", After:=Range("B18"), LookAt:=xlPart, LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
If Not FindGlOutperfDet Is Nothing Then
Sht.Range("B14:C16").BorderAround ColorIndex:=1, Weight:=xlMedium
End If
Next Sht
End Sub
解决方案
推荐阅读
- java - Hibernate Web App 示例中的 ClassNotFoundException
- chef-infra - 厨师只是忽略返回块
- php - 如何在纯 PHP 中使用 CodeIgniter 库?
- matlab - 如何使用 Matlab 获取目录中音频文件的长度(以秒为单位)?
- java - Netbeans 无法识别 .tex 文件
- docker - Kotlin 中的 Vert.x 项目在 Docker 中部署
- service-fabric-stateless - Service Fabric 自删除服务
- python - python .format 包括浮点格式
- javascript - Typescript + Html:如何在输入字段中强制大写
- mysql - SQL查询获取具有重复数据的表的N个元素