【发布时间】:2018-02-24 11:40:00
【问题描述】:
我不擅长 VBA,但突然之间,我开始收到此错误。如果您能找到错误所在,请告诉我。我很坚持这个。我确实到处搜索,发现很多类似的帖子,但解决方案似乎总是非常特定于代码。任何一位专家都将不胜感激。
这是我的代码:
Sub FindSimilar()
Dim phrases As Range, phrase As Range
Dim terms As Range, term As Range
Dim matches As String
Dim words() As String
'ensure this has the correct sheet names for your workbook
Set phrases = ThisWorkbook.Worksheets("Export").Range("B2:B3500")
Set terms = ThisWorkbook.Worksheets("Topics").Range("D767:D967")
For Each term In terms
matches = ""
words() = Split(term.Value)
For i = 0 To UBound(words, 1)
If Len(words(i)) > 2 Then
Select Case words(i)
Case "examplewords", "blacklist"
Case Else
For Each phrase In phrases
If InStr(1, phrase.Value, words(i)) Then
matches = matches & phrase & "/"
End If
Next phrase
End Select
End If
我真的不知道为什么
运行时错误 13:类型不匹配
被抛出。
断点发生在以下几行:
matches = ""
和
Set terms = ThisWorkbook.Worksheets("Topics").Range("D773:D779")
和
For i = 0 To UBound(words, 1)
【问题讨论】:
-
...祈祷告诉哪里(哪一行)错误发生在哪里?
-
没有意义,但您可以通过将
""换成vbnullstring来克服它吗? -
matches被声明为字符串,matches =""很好。您确定黄色突出显示的行是您单击“调试”时的那一行吗? -
... 你有 '确保这有你的工作簿的正确工作表名称' 即代码所在的工作簿?
-
这不是我的建议。我说'重新启动(冷启动)计算机'。类似this.