我是VBA的新手,我想在两个工作表之间进行部分字符串(或单元格)匹配。
例如,Name1的示例为“IT执行官Sally Lim”
Name2的示例为“Sally Lim”
Name1 = Sheets("Work").Cells(RowName1, ColName1)
Name2 = Sheets("Roster").Cells(RowName2, ColName2)
'This condition doesn't work
If Name1 = "*" & Name2 & "*" Then
'The "Name2" comes out with a compile error: Invalid Qualifier
Name2.Font.Strikethrough
Exit Do
Else
End If
然而,它并没有起作用。运行代码时,要么什么都不会发生,要么会弹出错误。请帮忙解决。
编辑后的代码:
If ShiftName Like "*" & CashName & "*" Then
CashName.Font.Strikethrough = True
在 John Coleman 的建议下,我将声明从“string”更改为“range”,因此已经解决了划去部分并且不再显示“编译错误”。
我测试了将 Name1 和 Name2 都更改为 Sally,然后使用以下条件进行划掉,它可以正常工作。我相信是“*”使得该条件无法工作。
If ShiftName Like CashName Then
CashName.Font.Strikethrough = True
如何通过相应地更改条件来进行部分匹配?
第二次编辑:
对不起!我意识到我的Name1是大写字母。