我觉得逻辑是正确的...我在A列中有一个很大的单词列表,如果它发生在那个A列中的那些单词之一是我的另一列中的单词的子串然后我想要替换它,否则单独留下这个词。
以下脚本崩溃为空单元格,我收到很多!Value
错误。
Function Find_Bad_Replace_Good(inputValue as String) as String
Dim v As Long, vList As Variant
With ActiveSheet
vList = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value2
For v = LBound(vList, 1) To UBound(vList, 1)
If CBool(InStr(1, inputValue, vList(v, 1), vbTextCompare)) Then
Find_Bad_Replace_Good = vList(v, 1)
Exit For
End If
Next v
End With
End Function
答案 0 :(得分:0)
不确定,如果这是问题......但是......我猜当A列(vList(v,1))中的数据为空时,下面的条件将为真....你可能想要跳过它,如果是空的
If CBool(InStr(1, inputValue, vList(v, 1), vbTextCompare)) Then
将其更改为
If vList(v, 1) <> "" And CBool(InStr(1, inputValue, vList(v, 1), vbTextCompare)) Then