我在 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