Excel截取数字之后的汉字

2025-10-03 08:09:14

1、点击【开发工具】、【Visual Basic】调出VBE编辑器。(或者使用【Alt+F11】快捷键调出VBE编辑器)

Excel截取数字之后的汉字

2、在VBE编辑器的菜单栏上面点击【插入】、【模块】。

Excel截取数字之后的汉字

3、在模块代码框里边输入以下VBA程序代码,检查无误后按下【F5】键运行程序。

Sub JieQuzifu()

Dim i1, i2, i3, str1, str2

On Error Resume Next '忽略运行过程中可能出现的错误

Application.ScreenUpdating = False '关闭屏幕显示更新,提高运行速度

Set mysheet2 = ThisWorkbook.Worksheets("Sheet2") '定义工作表Sheet2

 For i1 = 2 To 1000 '从第2行到1000行

  If mysheet2.Cells(i1, 1) <> "" Then '如果单元格不是空白,则

   i2 = Len(mysheet2.Cells(i1, 1)) '获取单元格字符个数

   For i3 = 1 To i2 '预计对每一个字符执行

    str1 = Mid(mysheet2.Cells(i1, 1), i3, 1) '截取单元格字符

    If Asc(str1) < 0 Or Asc(str1) > 255 Then '如果不是此范围内的字符,则

     str2 = Mid(mysheet2.Cells(i1, 1), i3, i2 - i3 + 1) '截取汉字字符

     mysheet2.Cells(i1, 2) = str2 '将截取的字符写入同一行的B列单元格

     Exit For '退出For循环

    End If

   Next

  End If

 Next

Application.ScreenUpdating = True '启用屏幕更新

End Sub

Excel截取数字之后的汉字

4、回到Excel工作表界面,将会看到程序的执行结果。

Excel截取数字之后的汉字

5、程序思路解读:

(1)在Excel函数中,LEN和LENB可以判断出字符是否为汉字(双字节),但在VBA程序里边,LEN和LENB就无法进行判断。

(2)使用Asc函数获取一个字符的编号,如果是英文字符、数字之类的(ANSI 字符集),其数值会在0~255之间,除此之外就是其他字符,由此可以大致判断成汉字,再根据其所在的位置截取相应的字符。

Excel截取数字之后的汉字

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢