VBAを書いていて数式が長くなった際、改行して式を見やすくしたいときがあると思います。
他の言語であればEnterを押してインデントを下げれば済むのですが、VBAではひと手間必要です。
それは、改行したい式の最後に半角スペース+ _ (アンダーバー) が必要になります。
これを忘れると以下の用に怒られてしまいます。
なんでこんな仕様にしたのか理解に苦しみますが、ひとまず "半角スペース+ _" をつければよいことは分かりました。
しかし!この "半角スペース+ _" は使いすぎても怒られてしまいます!
・・・OK、訳が分からないぜ。(´・ω・`)
調べたところによると、どうやら "半角スペース+ _" は行継続文字と呼ぶようで、1つの関数に24個以上使用するとエラーを吐くようです。
これは困りました・・・。特にデータベースからSQLを使ってデータを取得する際は、SQL文を発行しなくてはいけないのですが、
長くなってしまう場合は改行コードが24個以上必要になってきます。
いろいろ探した結果、改行コードを増やすには「vbCrLf」という定数を使えばよいことが分かりました。
文字列の連結の例として以下のような形で改行できます。
ポイントとしては、あらかじめ変数を用意しておいて改行するごとに継ぎ足して代入していく形となり、
こうすることでいくらでも改行ができるようになります。やったね!
改行1つでも苦労するVBA・・・。なかなか手強いです。
※ちなみにCrLfとは、タイプライター時代の用語(キャリッジリターン・ラインフィード)の略らしいです。