エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
[Excel/VBA]半角幅を1として、全角・半角混在の文字列幅を取得したい - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
[Excel/VBA]半角幅を1として、全角・半角混在の文字列幅を取得したい - Qiita
はじめに 記事中、間違っている箇所があるかもしれません。すみません。 ※文字列の表示幅を「文字列長」... はじめに 記事中、間違っている箇所があるかもしれません。すみません。 ※文字列の表示幅を「文字列長」というべきか「文字列幅」というべきかしばし迷いましたが、特に区別していません。「幅」も「長」も同じ意味で用いています。 発端 ふだんExcel/VBAを使っていて、全角文字と半角文字が混在している文字列の半角換算の文字列長を取得したい、と思うことがあります。 文字列長を取得する関数はもともとLen()やLenB()が用意されていますが、これらの関数は通常、全角・半角にかかわらず、一文字をそれぞれ1字あるいは2バイトとしてカウントします。 str = "おにぎり!!" Debug.Print Len(str) ' => 6 Debug.Print LenB(str) ' => 12 この例でいえば、"おにぎり!!"から半角幅換算の10(全角文字×4字+半角文字×2字 = 2×4+1×2 = 1