- VB,VBA
- 2017-11-27 - 更新:2020-12-07
VBAで文字列の長さを求める際は少し注意が必要です。
通常のLen関数を使用した場合、半角・全角に関わらず全ての文字を一文字として計算します。
かといって、LenB関数を使用しても、全ての文字を2バイトとして計算するため、答えは倍になるだけです。
他のプログラム、例えばPHPならstrlen関数になりますが、こちらでは半角は1バイト、全角なら2バイトとなります。
こちらと同じようにVBAでも計算したい場合はどうすれば良いのでしょうか?
答えは以下のようになります。
'長さを求めたい文字列 HenkanStr = "LenB関数" MsgBox LenB(StrConv(HenkanStr, vbFromUnicode))
出力結果は「8」となります。
StrConvについては以下をご覧ください。
https://k-sugi.sakura.ne.jp/it_synthesis/windows/vb/81/