我是 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 的建议将声明从“字符串”更改为“范围”后,它不再显示“编译错误”。
我通过将 Name1 和 Name2 更改为 Sally 进行了测试,然后使用以下条件进行三振,它可以工作。我认为是“*”使条件不可行。
If ShiftName Like CashName Then
CashName.Font.Strikethrough = True
如何通过相应地更改条件来完成部分匹配?
第二次编辑:
我的错!我意识到我的 Name1 是大写字母。