首页officeexcel正文

如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符

强国说学习2023-04-2082如何使用Excel20132016中的用户定义函数

本文将讲述如何在Excel中从给定单元格中的文本字符串中删除所有非字母数字字符。如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符。

使用用户定义的函数删除所有非字母数字字符 使用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 chEnd Function

步骤5:返回当前工作表,然后在空白单元格中键入以下公式,然后按Enter键。并将“自动填充处理”拖动到其他单元格。

由强国说-WPS之家(wps.qiangguoshuo.com)收集的该篇文章内容来源于网络,希望能为您提供帮助。

= RemoveNonAlpha(A1)

步骤6:让我们看看最后的结果:

使用VBA宏删除所有非字母数字字符

您还可以使用另一个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 chEnd FunctionSub 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) NextEnd Sub

步骤5:返回当前工作表,然后运行上面的excel宏。点击执行按钮。

步骤6:选择一个包含要删除的非字母数字字符的范围。单击确定按钮。

步骤7:您将看到已从所选单元格区域中删除所有非字母数字字符。

如想转载该文章请注明出处:强国说学习-qiangguoshuo.com
强国说学习

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.qiangguoshuo.com/excel/72148.html