excel - 编译错误;End With without With 虽然两者都存在
问题描述
如果行中的特定单元格包含某个短语(该单元格包含的不仅仅是特定短语),目前正在开发一个脚本以突出显示该行。但是,在尝试测试时,我看到了错误“编译错误:以不带结尾”我可以在我的代码中看到带和结尾,尽管我可能已经看了太久而没有注意到明显的。任何人都可以注意到代码中可能导致这种情况的任何东西吗?
Sub Conversion()
Dim State As String
Dim County As String
Dim Date As String
Dim TC As String
Dim H As String
Dim Tmp As String
Dim m As Long
Dim x As Long
H = "not recognised"
With Sheets("Matched Date")
For Each cell In Sheet
m = UBound(Split(Rng.Value, H))
If m > 0 Then
Tmp = ""
For x = 0 To m - 1
Tmp = Tmp & Split(Rng.Value, H)(x)
.Characters(Start:=Len(Tmp) + 1, Length:=y).EntireRow.Color = RGB(252, 227, 3)
Tmp = Tmp & H
Next
End If
End With
编辑:对不起这里的业余代码,我没有受过训练,只是试图根据简单的在线视频和谷歌指南来做这件事,因为我们没有其他人可以为我们做这件事。
解决方案
正如上面已经提到的,正确的代码缩进是你的朋友。这样做,您的代码看起来像
With Sheets("Matched Date")
For Each cell In Sheet
m = UBound(Split(Rng.Value, H))
If m > 0 Then
Tmp = ""
For x = 0 To m - 1
Tmp = Tmp & Split(Rng.Value, H)(x)
.Characters(Start:=Len(Tmp) + 1, Length:=y).EntireRow.Color = RGB(252, 227, 3)
Tmp = Tmp & H
Next
End If
End With
这样,很容易发现您的第一个For
循环缺少结束Next
。
这个和类似的错误消息可能有点误导。如果您将 , 等对视为开/关括号对,它基本上意味着“此代码以某种方式错过了一个右‘括号With/End With
’ ” For/Next
。Select/End Select
推荐阅读
- python - 使用“queryset=Product.objects.none()”时出现 Django 表单验证错误(选择一个有效选项)
- reactjs - 一种动态加载 react 组件并避免多个 react 副本的方法
- bash - 将字符串放在一起(变量加管道)
- typescript - 输入至少 2 个参数之一
- javascript - 为什么我收到未定义类型的错误?
- c# - 选择/取消选择多个列表框中的多个项目
- elasticsearch - 从 Elasticsearch 错误读取的 Google Cloud Dataflow
- powershell - 用于检查 SharePoint 页面中的链接的 PowerShell 脚本
- javascript - 将类添加到第一个动态创建的 li 标签
- angular - Angular 代理在本地主机上工作,但在生产中不工作