【Excel VBA】Len的有趣之处——获取的长度怎么不一致?

本文探讨了Excel中LEN和LENB函数处理汉字与英文字符长度的区别,并指出在VBA环境中LENB函数的行为差异。通过示例代码,解释如何在VBA中实现类似Excel单元格LENB的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

在Excel的单元格中输入函数=LEN(“abc”)结果为3;输入函数=LEN(“啊bc”)结果也是3,看似没有问题但是实际上LEN的两个参数实际占用的长度可是不一样的,见下图:
啊bc就是比abc要长
“啊bc”就是比“abc”长1个字符。原因是LEN函数计算的是字符的个数,虽然1个汉字占据了两个英文字母的长度,但是也是1个字符。
如果在实际的应用中我们要考虑的是字符串占据的长度该如何呢?那么就有请LENB函数:输入函数=LENB(“abc”)结果为3;输入函数=LENB(“啊bc”)结果为4。
今天的文章就这么结束了?并没有,我们还有一个问题要继续探讨,如果在VBA中使用这两个函数会是什么样的结果呢?先写代码如下:

Sub 有趣的LEN()
  Cells(3, 4).Value = Len(Cells(3, 1).Value)
  Cells(4, 4).Value = Len(Cells(4, 1).Value)
  
  Cells(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碰碰虎

20年挑灯夜战秃了头,有赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值