【VBA】改行コードを削除する方法(改行コードは3種類)
今回は改行コードを削除する方法を紹介します。
削除自体はReplace関数(文字列を置換できる関数)を使えば簡単です。
ですが、改行コードはLf , Cr, CrLfの3種類があるため、どの改行コードを削除するのか気を付ける必要があります。
ひとまず、すべての改行コードを削除するサンプルも載せますので、とりあえず削除したい方はコピーして使ってみてください。
この記事では↓の内容が分かります。
- 改行コードを削除する方法
- 改行コードの種類とその違い
改行コードを削除する方法
Sub Sample1()
Dim str As String
str = "strに改行コードを含んだ文字列を入れる"
''改行コードを削除する箇所
str = Replace(str, vbLf, "") 'Lfの改行コードを削除
str = Replace(str, vbCr, "") 'Crの改行コードを削除
End Sub
改行コードを削除するには、このようなコードを書きます。
改行コードを削除しているのは、Replace関数を使っている最後の2行です。
strに改行コードを含んだ文字列を入れて実行してみてください。
2 つのReplace関数によってすべての改行コードが削除されます。
(Replace関数は特定の文字列を、別の文字列へ変更する関数です。サンプルコードでは改行コードを空文字へ変更することで改行コードを削除しています)
改行コードの種類とその違い(Lf, Cr, CrLf)
説明 | vbCrLf | vbCr | vbLf |
---|---|---|---|
概要 | ラインフィード + キャリッジリターン | キャリッジリターン (カーソルを先頭に) | ラインフィード (次の行へ) |
文字コード | chr(13)+chr(10) | chr(13) | chr(10) |
改行コード | Windows で一般的な改行コード | MacOS で一般的な改行コード | Linux では一般的な改行コード |
例: | Windows のメモ帳で改行を入力した場合。 | – | ・Excel のセル内での改行。 ・Linuxのテキストエディタでの改行。 |
改行コードにはこの表の3種類があります。
Windowsを使っている場合、Lf , Cr, CrLfのすべての改行コードを使っているかもしれません。
そのため、改行コードをすべて削除するためには、すべてを削除する必要があります。
CrLfはCrとLfを足し合わせたもののため、CrとLfを削除すると自動的に削除されます。
先ほどのサンプルコードは、CrとLfの両方を削除しているため、Lf , Cr, CrLfのすべての改行コードが削除されます。