top of page

​タグ一覧

ShowStrEach|文字列を1文字ずつ可視化表示(VBA 文字列 改行) | Excel VBA

2024年12月29日
読了時間: 2分

更新日:1月4日

ShowStrEach|文字列を1文字ずつ可視化表示(文字列確認) | Excel VBA

<概要 (VBA 文字列 改行)>

ShowStrEachは、文字列を1文字ずつ分解し、改行(Cr/Lf)やタブ(Tab)を可視化した形で

イミディエイトウィンドウへ出力するExcel VBA用の汎用プロシージャです。(VBA 文字列 改行)


 改行やタブを含む文字列は、通常そのままでは構造が把握しづらく、

デバッグや文字列処理ロジックの検証が困難になります。


 文字列の改行にはキャリッジ・リターンおよびライン・フィードの2つがあります。Excel VBAで、それぞれの改行は

○キャリッジ・リターンは「vbLf」もしくは「Chr(10)」

○ライン・フィードは「vbCr」もしくは「Chr(13)」

○キャリッジ・リターンとライン・フィードを続けて入力するときは「vbCrLf」

で入力できます。


 ただ、これらの変数の中の文字列の中に含まれている場合、イミディエイトウィンドウウでその変数の中身を「?[変数]」で確認してもキャリッジ・リターンなのかライン・フィードが含まれているのかは分かりません。

 

 紹介する汎用プロシージャ「ShowStrEach」では、文字列の中の文字を一文字ずつカンマ区切りで表示するような機能を備えています。その際にそれぞれの一文字がキャリッジリターンなのかラインフィードなのかを区別して表示します。ついでにTab「=Chr(13)」も含まれている場合も考慮して区別して表示することもできます。

 

 実際の使用場面としては、テキストファイルなどの中身を読み込んだときに、文字列に含まれる改行がキャリッジ・リターンなのか、ライン・フィードなのかっていうのを確認が必要になってきたりします。その際に非常に便利な汎用プロシージャとなっています。


<実行例>

 実行例のサンプルコードは下記の通りとなっています。


 実行結果はサンプルコードの中にコメントとして記述してありますが、下記のようにイミディエイトウィンドウに表示されます。


イミディエイトウィンドウの実行結果
イミディエイトウィンドウの実行結果

 このように文字列は中身をキャリッジ・リターンおよびライン・フィード、またはTabなどを区別して表示確認ができるようになっています。



<関連記事>

 今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>



Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

softex-celwareロゴ 透過 横長.png

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page