在Excel中要截取单元格中的字符,我们通常使用MID函数,该函数能截取指定位置指定长度的字符!
但是存在很明显的缺点,即,必须指定字符的截取位置和长度!
而在工作当中,单元格中的字符长度及内容是不可预料的,要想截取灵活性非常大的字符,使用MID函数是难上加难!
为此,本文介绍一个自己定义的函数,来截取非中文的字符!
首先我们看下图,只有两列,前者为复杂的编号列,而第二列为想要提取的字符的编号存放列!
本例中,我们所要自己定义的函数名称为GetMyString,这是Excel中未曾有过的函数,因此称为自定义函数,为使该函数能应用到Excel中,首先,我们应该做的就是在Excel中添加该函数到指定的模块方能使用!
在打开的Excel文件中,按住组合键“Alt+F11”,这个时候,会自动弹出VB代码编写框!
如上图,在窗口的左边,找到“模块1”进行双击,之后弹出如右边的代码编写窗口,在里面输入上述的代码即可!
对上述的操作进行保存,之后关闭VB窗口,返回到Excel窗口!
如上图,选择B2单元格,之后在FX函数输入框中输入如上图的函数,并按回车确认即得结果!
其他的单元格自不必输入函数代码,直接使用如下图的自动填充功能即可!
上图为最终效果!
为方便大家的学习,下面贴出本例函数代码:
Function GetMyString(MyValue As Range)
'提取英文及数字、排除中文字
Application.Volatile
For i = 1 To Len(MyValue)
If Asc(Mid(MyValue, i, 1)) > 0 Then
MyString = MyString & Mid(MyValue, i, 1)
End If
Next
GetMyString = MyString
End Function