◆◆MS-Excel2000スキルアップ講座/VBA編◆◆

全角半角混合文字列のバイト長を取得する
全角(漢字も含む)と半角の混ざった文字列のバイト長を取得する方法を説明しています。

"aあbいcうdえe"

上のような文字列に対して13バイトで取得したいのですが・・・・

セル(1,1)に"aあbいcうdえe"を書き込み、
VBA上で以下のようにコーディングしました。

dim a as string
dim b as integer

a = cells(1,1)
b = lenb(cells(1,1))

とすると、b=18になります。

マクロを組まなければb=13になってくれるのですが。

Excel VBA 内部では Unicode で文字列を扱っているとのことです。Excel97以降で変更された点のようです。
文字列 a = "aあbいcうdえe" の代わりに
Strconv( a, vbFromUnicode ) を使って
LenB( Strconv( a, vbFromUnicode ) ) とすれば 13 になります。