excel 不规则字符串提取字母
问题补充:
如A1列数据为:1A1,2A22,WA1,WB55,B列显示结果分别为:A,A,WA,WB,求高手指教
最佳答案
代码如下
Function ExpStr(str As String, Optional strType As Byte = 1) As String
Dim objRegExp As Object
Set objRegExp = CreateObject("VBSCRIPT.REGEXP")
With objRegExp
.Global = True
.Pattern = "[^A-Za-z]"
ExpStr = .Replace(str, "")
End With
End Function
追问:
这是宏吗? 追答:
是 这个是自定义函数你把代码放进宏模块里在表格上输入=Expstr()括号里面的内容就会只提取英文字母
追问:
我是菜鸟看不懂,不能直接用excel函数解决吗? 追答:
这个不用看懂啊 你直接拿代码用就好了,就比如之前没有函数能简单的提取英文字母,这个代码目的就是自己去创建一个这样的函数,然后我们在用这个函数来提取英文字母,这样很简单,这种代码百度也会有的,也可以去看看
追问:
貌似不能运行嘛
追问:
代码输进去是不是直接关掉就行了,然后在表格里输入公式 追答:
有提示什么吗把代码放到宏里然后就可以用这个函数了如果不行的话,你试试把宏设置打开


是的,把代码放进去,关了窗口就可以在表格里面输入公式了
最佳答案由网友 梧桐秋_雨寒 提供
其他回答
其它网友回答:
自定义函数
其它网友回答:
Function aa(a As Range)
Dim i As Integer
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) = False Then aa = aa & Mid(a, i, 1)
Next
End Function