VBA的LENB()和Excel的LENB()区别
A:工作表中和VBA中都有LENB函數,兩者有一定區別。
工作表中LENB函數表示的是字符所占的字節數。如果為雙字節字符,比如中文占用兩個字節。則LENB返回2,英文占用1個字節。VBA中的LENB函數則不同,由于VBA中有各種變量類型,當用LENB計算時,實際返回的是該類型變量所占用的字節數。比如下面例子:
Sub MyLenB()
Dim MyStr1#, MyStr2&, MyStr3$
MyStr1 = 123456789
MsgBox LenB(MyStr1) '返回8。Double類型占用內存4
MyStr2 = 123456789
MsgBox LenB(MyStr2) '返回4。Long類型占用內存4
MyStr3 = "123456789你好"
MsgBox LenB(MyStr3) '返回22。String類型每個字符占用內存2
End Sub
各變量具體占用的字節可以參考下表:
數據類型 大小
Byte 1 個字節
Boolean 2 個字節
Integer 2 個字節
Long 4 個字節
Single 4 個字節
Double 8 個字節
Currency 8 個字節
Decimal 14 個字節
Date 8 個字節
Object 4 個字節
String 每個字符占用兩個字節
Variant 根據實際類型變化
轉載:http://yi-lee.blog.163.com/blog/static/495515262010102781446681/
如果想讓vba的lenb返回結果與工作表lenb返回結果一樣可以:
這樣試試:
lenb(strconv(abc,vbfromunicode))
其中abc可以是 單元格或數組、字典對象
總結
以上是生活随笔為你收集整理的VBA的LENB()和Excel的LENB()区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 表达式的LenB(123程序设计ABC)
- 下一篇: 核心频率个加速频率_【硬件资讯】AMD: