打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA基础入门(45)日本語全半角混在字符串的长如何获取?


Shift_JIS码制下长度分别为3,10,18。

一般获取字符串的长度,可能首先都会想到Len函数,我们先看一下Len函数获取的字符串长度是多少。

1

Len

Sub GetLength()Sheets("全半角混在").Range("B2") = Len(Sheets("全半角混在").Range("A2"))Sheets("全半角混在").Range("B3") = Len(Sheets("全半角混在").Range("A3"))Sheets("全半角混在").Range("B4") = Len(Sheets("全半角混在").Range("A4"))End Sub

半角的长度没问题,但是全角和全半角混在不对。

无论是全角还是半角都会被当作1位长来计算所以结果是3,5,13。

2

LenB

Sub GetLength()Sheets("全半角混在").Range("B2") = LenB(Sheets("全半角混在").Range("A2"))Sheets("全半角混在").Range("B3") = LenB(Sheets("全半角混在").Range("A3"))Sheets("全半角混在").Range("B4") = LenB(Sheets("全半角混在").Range("A4"))End Sub

全角长度没问题,半角和全半角混在不对。

无论是全角还是半角都会被当作2位长来计算所以结果是6,10,26。

3

LenB + StrConv

Sub GetLength()Sheets("全半角混在").Range("B2") = LenB(StrConv(Sheets("全半角混在").Range("A2"), vbFromUnicode))Sheets("全半角混在").Range("B3") = LenB(StrConv(Sheets("全半角混在").Range("A3"), vbFromUnicode))Sheets("全半角混在").Range("B4") = LenB(StrConv(Sheets("全半角混在").Range("A4"), vbFromUnicode))End Sub

这次获取的字符串长度没问题了,全角2位半角1位,分别是3,10,18。

先用StrConv函数把字符串转换成Shift_JIS,再获取字符串长度。


                                     

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
感悟VB细水长流话API(二)
VB字符处理
最新分享
VB向DLL传递字符串数组的问题!
Excel数字提取技巧:从混合文本中提取数字的方法
Excel教程:在Excel中提取数字,最好用的3种方法!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服