部分单元格匹配和无视标点符号VBA

这是部分单元格匹配的扩展问题。

我想知道如果我们能够进一步改进John Coleman提供的以下编码,如果名称中有标点符号,

Name1的一个例子是“IT主pipeSally,Lim”

Name2的一个例子是“Sally,Lim”

Name1 = Sheets("Work").Cells(RowName1, ColName1) Name2 = Sheets("Roster").Cells(RowName2, ColName2) If UCase(Trim(Name1)) Like "*" & UCase(Trim(Name2)) & "*" then Name2.Font.Strikethrough = True End If 

使用一个函数来“整理”string:

 Function ReplacePunct(strInput As String) As String chars = Array(".", ",", ";", ":") '// Change as required For Each ch In chars While InStr(strInput) strInput = Replace(strInput, CStr(ch), vbNullString) Wend End If End Function 

然后像这样使用它:

 If UCase(Trim(ReplacePunct(Name1))) Like "*" & UCase(Trim(ReplacePunct(Name2))) & "*" then 
Interesting Posts