Excel精英培训网

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

[已解决]怎样判断A1中是否含有汉字

[复制链接]
发表于 2010-4-19 15:46 | 显示全部楼层 |阅读模式

相关帖:http://www.excelpx.com/forum.php?mod=viewthread&tid=93047 ,晕了[em11]

这里具体比如,判断A1中的字符串,是否含有(中文简体)汉字?谢谢!

最佳答案
2010-4-19 18:10

如果仅有一个字符,(更多字符道理是一样的)提供两种判断方法供参考:

Sub test() '正则
Dim regex As Object
set regex = CreateObject("vbscript.regexp")
With regex
    .Global = True
    .Pattern = "[\u4e00-\u9fa5]"
    MsgBox .test([a1])
End With
End Sub

Sub test2()
If [a1].Value Like "[一-龥]" Then
    MsgBox "汉字"
Else
    MsgBox "非汉字"
End If
End Sub

[此贴子已经被作者于2010-4-19 18:10:33编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-4-19 15:54 | 显示全部楼层

必须是汉字吗???

字母和符号不行???

回复

使用道具 举报

 楼主| 发表于 2010-4-19 16:01 | 显示全部楼层

QUOTE:
以下是引用raulerini在2010-4-19 15:54:00的发言:

必须是汉字吗???

字母和符号不行???

谢谢raulerini


Sub ddd()

    [a1] = "大"
   
    '判断[a1]的值是不是汉字
   
End Sub

即第1句变更后,后面的判断仍有效就行。为讨论方便,这里我们假设[a1]中有且仅有1个字符。[em04]

回复

使用道具 举报

发表于 2010-4-19 16:10 | 显示全部楼层

好像有个判断是否是双字节的函数...
回复

使用道具 举报

发表于 2010-4-19 16:16 | 显示全部楼层

asc(某字符)<0,是汉字,或者说是双字符字符,包括标点的。他那个东东,好象用的是十六进制吧

回复

使用道具 举报

 楼主| 发表于 2010-4-19 16:20 | 显示全部楼层

QUOTE:
以下是引用开辆小富康在2010-4-19 16:16:00的发言:

asc(某字符)<0,是汉字,或者说是双字符字符,包括标点的。他那个东东,好象用的是十六进制吧

Sub dd()
MsgBox Chr(46323)
End Sub

这里,46323不就是>0吗?为什么你的是要<0呢

[em04]
回复

使用道具 举报

发表于 2010-4-19 16:39 | 显示全部楼层

但是,在立即窗口中,

?asc("大")
-19213

哈哈

回复

使用道具 举报

发表于 2010-4-19 16:39 | 显示全部楼层

Sub dd()
MsgBox Chr(46323)
MsgBox Asc(Chr(46323))
End Sub
回复

使用道具 举报

 楼主| 发表于 2010-4-19 17:22 | 显示全部楼层

vgkUahFg.rar (271.18 KB, 下载次数: 0)

回复

使用道具 举报

发表于 2010-4-19 17:40 | 显示全部楼层

好像附件内容不齐全。arr = [c1:c65536] 的内容是全空的。

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 05:53 , Processed in 0.584282 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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