2016-05-13 7 views
1

Dies ist die erweiterte Frage von Partial Cell Match.Partielle Zellenübereinstimmung und Nichtbeachtung der Interpunktion VBA

Ich habe mich gefragt, wie ich weiter die von John Coleman bereitgestellt verbessern könnte folgende Codierung, wenn es, Zeichensetzung im Namen

Ein Beispiel für Name1 wäre „IT Executive Sally Lim“

Ein Beispiel Name2 würde "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 

Antwort

2

Sie eine Funktion "ordentlich" auf den String sein:

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 

Dann verwenden Sie es wie folgt:

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