excel中如何用VBA判断一个单元格的内容是不是汉字?

 我来答
2724421
2011-05-11 · TA获得超过2490个赞
知道大有可为答主
回答量:1551
采纳率:71%
帮助的人:926万
展开全部
你这个问题问的笼统了点.这个要分几种情况
1.是只判断首字符.
2.是判断所有的字符.这种情况又分为必须全部是汉字才认为是汉字,或只要包含汉字就认为该单元格的内容是汉字这2种情况.
给你个简单的只判断首字符的例子你先看看
Function isHZ(SA As Range) As Boolean
aa = Asc(SA.Value)
If aa < 0 Then isHZ = True Else isHZ = False
End Function
dnydxw
推荐于2020-02-03 · TA获得超过1.5万个赞
知道大有可为答主
回答量:2942
采纳率:0%
帮助的人:1414万
展开全部
Function ddd(str)
Dim i As Integer
For i = 1 To Len(str)
If Asc(Mid(str, i, 1)) >= -20319 And Asc(Mid(str, i, 1)) <= -2050 Then
ddd = "含有汉字"
Exit Function
End If
ddd = "无汉字"
Next
End Function

使用方法:判断A1单元格是否有汉字
=ddd(A1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友518c63c
2011-05-11 · TA获得超过246个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:180万
展开全部
自已写一个函数
返回 True--含有汉字
返回 False--不含有汉字
Function HasWideChr(ByVal str As String) As Boolean
Dim ByteGB() As Byte
Dim LenW As Integer

ByteGB = StrConv(str, vbFromUnicode)
LenW = UBound(ByteGB) + 1

HasWideChr = Len(str) <> LenW
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyzxh

推荐于2016-09-18 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8339
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
Sub Test()
Dim rng As Range
For Each rng In Range("A1", [A65536].End(3))
If rng Like "*[一-龥]*" Then MsgBox "中文"
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yoogm1156
2011-05-12 · TA获得超过395个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:419万
展开全部
if left(cells(i,1).value,5)="2011_" then
或者
if cells(i,1).value like "2011_" & "*" then
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式