excel提取单元格数字、字母或者汉字

作者:没什么大不了 | 创建时间: 2023-08-01
我们有时需要用到excel单元格中的数字、字母或者只需要汉字,但是excel现有函数无法实现这个功能。我们可以借助VBA的自定义函数功能来实现。...
excel提取单元格数字、字母或者汉字

操作方法

首先我们打开excel,点击文件-另存为,将其另存为xlsm启用宏的工作簿。

右击下方工作表名称,点击“查看代码”选项,打开vba编辑器。 这个过程可以直接按快捷键Alt+F8

在vba编辑器中,点击“插入”-“模块”

复制以下代码,粘贴在插入的模块中 Function TQ(rng As Range, Optional i As String = "数字") With CreateObject("vbscript.regexp") Select Case i Case "数字": .Pattern = "\d" Case "字母": .Pattern = "[a-zA-Z]" Case "汉字": .Pattern = "[\u4e00-\u9fa5]" End Select .Global = True Set matches = .Execute(rng.Value) For Each Match In matches a = a & s & Match Next TQ = IIf(Len(a) > 0, a, "") End With End Function

返回excel界面,比如下图我们要提取A列的数字到B列,那么我们在B2单元格输入=TQ(A2,"数字"),回车,向下填充即可。

如果需要提取字母或者汉字,把函数中的“数字”修改为“字母”或者“汉字”即可。

温馨提示

excel的函数需要在英文输入法状态下输入
事实上VBA可以实现更强大的功能,本文只是抛转引玉地列举了一个自定义函数。
点击展开全文

更多推荐