文字列の中身に含まれる改行を区別して表示する
- yuji fukami
- 2024年12月29日
- 読了時間: 2分
<概要>
今回は文字列の中身に含まれる改行を区別して表示することができる汎用プロシージャの紹介です。
文字列の改行にはキャリッジ・リターンおよびライン・フィードの2つがあります。Excel VBAで、それぞれの改行は
○キャリッジ・リターンは「vbLf」もしくは「Chr(10)」
○ライン・フィードは「vbCr」もしくは「Chr(13)」
○キャリッジ・リターンとライン・フィードを続けて入力するときは「vbCrLf」
で入力できます。
ただ、これらの変数の中の文字列の中に含まれている場合、イミディエイトウィンドウウでその変数の中身を「?[変数]」で確認してもキャリッジ・リターンなのかライン・フィードが含まれているのかは分かりません。
紹介する汎用プロシージャ「ShowStrEach」では、文字列の中の文字を一文字ずつカンマ区切りで表示するような機能を備えています。その際にそれぞれの一文字がキャリッジリターンなのかラインフィードなのかを区別して表示します。ついでにTab「=Chr(13)」も含まれている場合も考慮して区別して表示することもできます。
実際の使用場面としては、テキストファイルなどの中身を読み込んだときに、文字列に含まれる改行がキャリッジ・リターンなのか、ライン・フィードなのかっていうのを確認が必要になってきたりします。その際に非常に便利な汎用プロシージャとなっています。
<実行例>
実行例のサンプルコードは下記の通りとなっています。
実行結果はサンプルコードの中にコメントとして記述してありますが、下記のようにイミディエイトウィンドウに表示されます。

このように文字列は中身をキャリッジ・リターンおよびライン・フィード、またはTabなどを区別して表示確認ができるようになっています。
<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。



コメント