【发布时间】:2020-02-21 19:33:55
【问题描述】:
如果行中的特定单元格包含某个短语(该单元格包含的不仅仅是特定短语),当前正在编写一个脚本以突出显示该行。但是,在尝试测试时,我看到了错误“编译错误:以不带结尾”我可以在我的代码中看到带和结尾,尽管我可能已经看了太久而没有注意到明显的。任何人都可以注意到代码中可能导致此问题的任何原因吗?
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
编辑:很抱歉这里的业余代码,我没有受过培训,只是尝试根据简单的在线视频和谷歌指南来做这件事,因为我们没有其他人可以为我们做这件事。
【问题讨论】:
-
您缺少
Next。使用这个很酷的indenter,您会立即看到它。 -
学会正确缩进你的代码。它使跟踪执行流程和识别此类问题变得更加容易。
-
.Characters(Start:=Len(Tmp) + 1, Length:=y).EntireRow.Color = RGB(252, 227, 3)看起来(是)非常有问题。Sheet没有Characters属性;Characters没有EntireRow属性;而EntireRow(Range)没有Color属性。 -
另外,尝试“标记”
nexts,所以for x=1 to 10:next x -
感谢@BigBen,橡皮鸭工具真的很有用!我希望我能设法完成剩下的工作而不会搞砸:P 我一直在尝试用谷歌搜索我的大部分问题,只有在我真的找不到答案时才问
标签: excel vba with-statement