Excel打印如何设置纸张方向?小Q来教您一个解决的方法。......
2023-01-18
本文将讲述如何在Excel中从给定单元格中的文本字符串中删除所有非字母数字字符。如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符。
假设您有一个包含文本字符串值的范围A1:A3中的数据列表,并且您只想从这些单元格中删除所有非字母数字字符并保留其他字母数字字符。怎么做。您需要记下Excel VBA宏以实现快速删除所有非字母数字字符的结果。只需执行以下步骤:
步骤1:打开您的Excel工作簿,然后单击开发工具选项卡下的“Visual Basic”命令,或者只需按“ALT + F11”快捷方式。
步骤2:然后将出现“Visual Basic编辑器”窗口。
步骤3:单击“插入” – >“模块”以创建新模块。
步骤4:将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。
Function RemoveNonAlpha(str As String) As String
Dim ch, bytes() As Byte: bytes = str
For Each ch In bytes
If Chr(ch) Like "[A-Z.a-z 0-9]" Then RemoveNonAlpha = RemoveNonAlpha & Chr(ch)
Next ch
End Function
步骤5:返回当前工作表,然后在空白单元格中键入以下公式,然后按Enter键。并将“自动填充处理”拖动到其他单元格。
= RemoveNonAlpha(A1)
步骤6:让我们看看最后的结果:
您还可以使用另一个VBA宏来实现删除Excel中所有非字母数字字符的相同结果。只需执行以下步骤:
步骤1:打开您的Excel工作簿,然后单击开发工具选项卡下的“Visual Basic”命令,或者只需按“ALT + F11”快捷方式。
步骤2:然后将出现“Visual Basic编辑器”窗口。
步骤3:单击“插入” – >“模块”以创建新模块。
步骤4:将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。
Function RemoveNonAlpha(str As String) As String
Dim ch, bytes() As Byte: bytes = str
For Each ch In bytes
If Chr(ch) Like "[A-Z.a-z 0-9]" Then RemoveNonAlpha = RemoveNonAlpha & Chr(ch)
Next ch
End Function
Sub RemoveNonAlphaMacro()
Dim rng As Range
Set MyRange = Application.Selection
Set MyRange = Application.InputBox("Select One Range:", "RemoveNonAlphaMacro", MyRange.Address, Type:=8)
For Each rng In MyRange
rng.Value = RemoveNonAlpha(rng.Value)
Next
End Sub
步骤5:返回当前工作表,然后运行上面的excel宏。点击执行按钮。
步骤6:选择一个包含要删除的非字母数字字符的范围。单击确定按钮。
步骤7:您将看到已从所选单元格区域中删除所有非字母数字字符。
相关文章