質問: len(activecell.value) ----------------------- activecellのセル内容「東京1234」 test→「8」と取得したいのに「12」になってしまう。 -------------------- excel上ではキチンと「12」になるのですがvbaでは違うのでしょうか。 どなたかご存じでしたら、よろしくお願いいたします。
回答: vba は内部的に unicode という文字コードを使用していて、これは半角の英数字も 2 byte です。 文字のバイト数を取得したいのなら、unicode → shift jis に変換しなければなりません。 test = lenb(strconv("東京1234", vbfromunicode)) とすればokです。