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

办公教程导读

收集整理了【如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符】办公软件教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1515字,纯文字阅读大概需要3分钟

办公教程内容图文

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


您还可以使用另一个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:您将看到已从所选单元格区域中删除所有非字母数字字符。

办公教程总结

以上是为您收集整理的【如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符】办公软件教程的全部内容,希望文章能够帮你了解办公软件教程如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符
如果觉得办公软件教程内容还不错,欢迎将网站推荐给好友。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何使用Excel 2013/2016中的用户定义函数或VBA宏从字符串中删除非字母数字字符