一般获取字符串的长度,可能首先都会想到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,再获取字符串长度。
联系客服