Excel VBAにて作業をしていると、文字列の途中や最後に改行コードを入れたい、出力ファイルにも改行コードが入るようなことが時々発生します。
その改行コードなのですが、Excel VBAで扱える改行コードは3種類あります。
以下がその3種類です。
目次
1.LF(ラインフィード)
カーソルを新しい行に移す
現行MAC(MACOS9以降)、UNIX、LINUXでの改行コード
VBA内コード:"vbLf"
vbLfで改行
Sub CellTest() s = "abc" & vbLf & "xyz" Cells(10, 10) = s End Sub
同様に、2行目を変更してメッセージボックスに表示してみます。
vbLfで改行
Sub MsgBoxTest() s = "abc" & vbLf & "xyz" MsgBox s End Sub
2.CR(キャリッジリターン)
カーソルを左端の位置に戻す
古いMAC(MACOS9以前)での改行コード
VBA内コード:"vbCr"
vbCrで改行(これは改行されず)
Sub CellTest() s = "abc" & vbCr & "xyz" Cells(10, 10) = s End Sub
2行目を変更してメッセージボックスに表示してみます。
vbCrで改行
Sub MsgBoxTest() s = "abc" & vbCr & "xyz" MsgBox s End Sub
3.CRLF(キャリッジリターン+ラインフィード)
CRとLFをあわせたもの
カーソルを左端の位置に戻して新しい行に移す
Windows側では通常これを使用します。
VBA内コード:"vbCrLf"
vbCrLfで改行
Sub CellTest() s = "abc" & vbCrLf & "xyz" Cells(10, 10) = s End Sub
これも同様に、2行目を変更してメッセージボックスに表示してみます。
vbCrLfで改行
Sub MsgBoxTest() s = "abc" & vbCrLf & "xyz" MsgBox s End Sub
実際にこれらのコードを使用して実行してみると、結果は以下のようでした。
vbCr | vbLf | vbCrLf | |
---|---|---|---|
セル内改行 | 不可 | 可 | 可 |
メッセージボックス内改行 | 可 | 可 | 可 |
ただし、セル内改行では、文字列にvbCrLfを入れてセルに入れるとvbCrLfがvbLfに変換され実行されて改行されるようです。
メモ帳などでの改行コードはvbCrLfが使用されていますのでテキスト出力する場合にはvbCrLfを使用します。
関連記事:
【Excel VBA 文字列変換】大文字小文字変換方法、全角半角変換方法 - Django Girls and Boys 備忘録
【Excel VBA】文字列比較演算子「like」の使用方法 - Django Girls and Boys 備忘録
【Excel VBA】ファイル一覧やファイル有無確認に使われるDir()の使用方法 - Django Girls and Boys 備忘録
【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録
【Excel VBA】プルダウンリスト(ドロップダウンリスト)作成方法とセル表示形式(R1C1形式)でエラーになった時の対処方法 - Django Girls and Boys 備忘録
【Excel VBA】行の高さの取得、調整、自動調整をする方法 - Django Girls and Boys 備忘録
【Excel VBA】セル参照形式をVBAから変更する方法(A1形式、R1C1形式) - Django Girls and Boys 備忘録
【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録
【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録
【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録
【Excel VBA】結合セルのコピー方法について - Django Girls and Boys 備忘録
【Excel VBA】あるシートのセル範囲に変更があった時に処理を実行する方法 - Django Girls and Boys 備忘録
【Excel 名前の定義】「名前"○○○"は既に存在します。この名前にする・・・」のメッセージ表示を解決する方法 - Django Girls and Boys 備忘録
【Excel マクロ(VBA) 行削除】条件を満たした行を削除する方法(For~Next文を使用) - Django Girls and Boys 備忘録
【Excel マクロ(VBA)】最大行番号、最大列番号を取得する方法 - Django Girls and Boys 備忘録
【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録