Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1568|回复: 5

[已解决]请教:

[复制链接]
发表于 2010-12-6 11:44 | 显示全部楼层 |阅读模式

请问:

Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字

那么,使用工作表函数检查A1单元格中的数据是否为汉字、英文又是怎么表达?

最佳答案
2010-12-6 11:52
判断一个字符串中是否有汉字,vba中默认英文字符串都是Unicode,双字节,如果转化为vbFromUnicode就变成单字节, 汉字还是双字节,如果转换之前的字符长度与转化之后的字节长度相等(LenB是计算字符的字节长度的函数), 说明不含中文字符,反之含有中文字符。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-12-6 11:49 | 显示全部楼层

用vba的函数isnumeric可以判断数字

判断文本用istext

回复

使用道具 举报

发表于 2010-12-6 11:52 | 显示全部楼层    本楼为最佳答案   

判断一个字符串中是否有汉字,vba中默认英文字符串都是Unicode,双字节,如果转化为vbFromUnicode就变成单字节, 汉字还是双字节,如果转换之前的字符长度与转化之后的字节长度相等(LenB是计算字符的字节长度的函数), 说明不含中文字符,反之含有中文字符。
回复

使用道具 举报

发表于 2010-12-6 11:54 | 显示全部楼层

汉字4E00-9FA5或"一"-"龥"

英文A-Za-z

用LIKE进行比较,或者正则匹配。

回复

使用道具 举报

发表于 2010-12-6 11:56 | 显示全部楼层


Sub b()
    Select Case Asc(Range("a1"))
    Case Is < 0
        MsgBox "汉字"
    Case 48 To 57
        MsgBox "数字"
    Case 65 To 90
        MsgBox "大写字母"
    Case 97 To 122
        MsgBox "小写字母"
    End Select
End Sub

[em09]

回复

使用道具 举报

 楼主| 发表于 2010-12-6 12:00 | 显示全部楼层

谢谢各位,收藏了!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-23 19:50 , Processed in 0.263114 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表