こんにちは、ぐーです!
本日は、Excel VBAの初学者が必ずと言っていいほど直面する「改行」の悩みについて解説します。
一生懸命VBAでツールを作って、いざメッセージを表示させたら「横に長~~い文章」が出てきて、読む気をなくしたことはありませんか?
ユーザーにとって「読みにくさ」は「使い勝手の悪さ」に直結し、ツールの利用頻度を下げる深刻な要因となります。
実は、たった一つの短いコードを挟むだけで、このユーザビリティ(使いやすさ)は劇的に改善します。
結論:初心者のうちは「vbNewLine」の活用がおすすめです
VBAで改行を表現するコード(定数)には、主に以下の2種類が存在します。
- vbNewLine(ブイビーニューライン)
- vbCrLf(ブイビーシーアールエルエフ)
まず結論をお伝えすると、初心者の皆様には「vbNewLine」の使用を推奨します。
その理由は非常にシンプルで、「New Line=新しい行」という名称が直感的で、記憶に定着しやすいからです。
実務において、両者に違いはあるのか?
Windows環境で利用する限り、これら2つの動作に違いはありません。どちらも「改行を実行する」命令として正しく機能します。
厳密な違いを挙げるとすれば、vbNewLineはMacなどの異なるOS環境でも、最適な改行コードを自動的に判別してくれる点にあります。
対してvbCrLfは伝統的な記述方式であり、ベテランエンジニアが作成したコードで頻繁に目にすることでしょう。
「自作する際は vbNewLine、他人のコードを読む際はvbCrLfのこともある」と区別して覚えておけば、現場で戸惑うことはありません。
【コピペOK】今すぐ使える実践コード集
具体的な使用方法を確認しましょう。改行したい箇所に & vbNewLine & を挿入するだけで完了です。
① メッセージボックスの視認性を高める
長い警告文なども、適切に改行を挟むことで、情報が瞬時に伝わるようになります。
▼Before

▼After

Sub ShowMessage()
' 文字がつながってしまう悪い例(コメントアウト)
' MsgBox "処理が完了しました。ファイルを確認してください。不明点は担当者まで。"
' vbNewLineで改行した良い例
MsgBox "処理が完了しました。" & vbNewLine & _
"ファイルを確認してください。" & vbNewLine & _
vbNewLine & _
"※不明点は担当者までご連絡ください。"
End Sub
💡Tips: 上記のようにvbNewLineを2回連続で使用すると、1行空きの段落が作成され、さらに読みやすさが向上します。
② セル内のテキストを改行する
Excel操作における「Alt + Enter(セル内改行)」と同じ状態を、VBAから制御する方法です。
Sub InputCell()
' A1セルに、改行入りのデータを入れる
Range("A1").Value = "日付:2026/5/20" & vbNewLine & "担当:佐藤"
' 「折り返して全体を表示する」をONにする設定
Range("A1").WrapText = True
End Sub
💡Tips: 「折り返して全体を表示する」をONにしないと改行が見えません。
まとめ:細やかな「改行」がユーザーの信頼を築く
「たかが改行、されど改行」です。
文字が密集した画面は、読み手にストレスを与え、ツールの価値を下げてしまいます。
逆に、整然と改行されたメッセージは「使い手への思いやり」として伝わり、開発者への信頼感へと繋がります。
ぜひ取り入れてみてください。
VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

コメント