特定のセルから特定の非テキスト文字を削除できるようにする VBA の次のユーザー定義関数を一緒にハックしました。
コードは次のとおりです。
Function removeSpecial(sInput As String) As String
Dim sSpecialChars As String
Dim i As Long
sSpecialChars = "\/:*?™""®<>|.&@#(_+`©~);-+=^$!,'" 'This is your list of characters to be removed
For i = 1 To Len(sSpecialChars)
sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), " ")
Next
removeSpecial = sInput
End Function
コードのこの部分では、削除する文字を明確に定義しています。
sSpecialChars = "\/:*?™""®<>|.&@#(_+`©~);-+=^$!,'"
また、この基準内に通常のスペース文字 " " も含めたいと考えています。これを行うために使用できるある種のエスケープ文字があるかどうか疑問に思っていましたか?
したがって、私の目標は、この関数を実行して、指定された Excel セルから指定されたすべての文字を削除し、すべてのスペースも削除できるようにすることです。
また、Excel 内で =SUBSTITUTE 関数を使用してこれを実行できることはわかっていますが、VBA で可能かどうかを知りたいです。
編集:修正されました!シモコありがとう!
Function removeSpecial(sInput As String) As String
Dim sSpecialChars As String
Dim i As Long
sSpecialChars = "\/:*?™""®<>|.&@# (_+`©~);-+=^$!,'" 'This is your list of characters to be removed
For i = 1 To Len(sSpecialChars)
sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), "") 'this will remove spaces
Next
removeSpecial = sInput
End Function