打印本文 打印本文 关闭窗口 关闭窗口
在Excel中如何使用自定义函数截取单元格中的非中文字符(英文和数字)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1150  更新时间:2009/6/9 2:17:32  文章录入:mintao  责任编辑:mintao

  在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

打印本文 打印本文 关闭窗口 关闭窗口