もくじ
セル内の改行コードを削除する
データ処理してると、改行ウザっ。ってなる時あると思います。
今回は、VBAで改行を削除する方法を紹介します。
3種類の改行コード
そもそもですが、改行は見た目何もないですが、ここ改行だよって指示するための「文字コード」が入力されている状態です。
ややこしいのは、その改行コードが1つでは無く3種類存在するってところです。
改行コード
改行コード | 16進数 | 10進数 | 読み方 |
---|---|---|---|
vbCr | 0D | 13 | Carriage Return(キャリッジリターン) |
vbLf | 0A | 10 | Line Feed(ラインフィード) |
vbCrLf | 0D0A | 13 10 | Carriage Return + Line Feed (キャリッジリターン・ラインフィード) |
通常EXCELを使っていて、セルの中で「Alt+Enter」で改行をすると、”vbLf”になります。
昔のMacOSは”Cr”を使ってたみたいですが、今は”Lf”みたいです。
でも、WindowsOSは基本的には”CrLf”使ってるようで。。。
メモ帳とかで改行した場合は、CrLfになります。

改行の削除方法
ということで、改行を削除する場合は、改行コードを取り除いてあげればいいということになりますね。
あるものを、無いものに取り替えるということです。
取り替えるといえば、”Replace関数”です。
Replace関数を使って、文字コードを亡き者に取り替えてしまいましょう!!
それでは、次のサンプルで試してみます。
A1セル内で改行が入っている(ここではAlt+Enterで改行しているので、vbLfの想定)文字列を、Replace関数で改行を取り除いて、B1セルに表示してみましょう!

コードは次のようになります。
たったの1行!
Sub sample()
Range("B1") = Replace(Range("A1"), vbLf, "")
End Sub
”vbLf”を””(亡き者)に置き換えしているだけ。
では実行します。
B1セルに、改行が取り除かれた文字列が表示されました!
EXCEL内で作ったデータは、基本的には”vbLf”の置き換えで上手くいくことが多ですが、どっか別のシステムからCSVで落としたのを読み込んで処理したりする場合は、"vbCrLf"や”vbCr”でないと置き換えれない場合がありますので、適宜状況を見て試してみて下さい(^o^)
おまけ
改行コードについて書いた記事です。
これはワークシート関数の記事ですが、この記事にある「CHAR(10)」の”10”は、 vbLf の10進数表記ですね(^o^)
【EXCEL VBA | ListColumns.Add】テーブルに新しい列(データ)を追加する
もくじ テーブルに新しい列(データ)を追加するテーブルに新しい列を追加する追加した列に列名を付ける追加した列にデータを入れる テーブルに新しい列(データ)を追加する テーブル形式のリストにデータを追加する方法を紹介します続きを読む
【EXCEL VBA | ListRows.Add】テーブルに新しい行(データ)を追加する
もくじ テーブルに新しい行(データ)を追加するテーブルに空行を追加する追加した行にデータを入力する テーブルに新しい行(データ)を追加する テーブル形式のリストにデータを追加する方法を紹介します! テーブル テーブルって続きを読む
【EXCEL VBA | ListObject】シートの範囲をテーブル形式に変換する
ワークシートでもVBAでもテーブルは便利(^o^) ワースシート上でもお馴染みのテーブル形式の表をVBAで作成する方法を紹介します! テーブル テーブルってこんなやつです。 ワークシート上にある表の中に、アクティブセルを続きを読む
【EXCEL VBA | ListObject】ワークシートでもVBAでもテーブルは便利(^o^) その2
もくじ ワークシートでもVBAでもテーブルは便利(^o^)オートフィルターコピーと貼り付け行の削除列の挿入 ワークシートでもVBAでもテーブルは便利(^o^) 前回次の記事で、VBAでテーブルを扱うときに使用するList続きを読む
【EXCEL VBA | ListObject】ワークシートでもVBAでもテーブルは便利(^o^) その1
もくじ ワークシートでもVBAでもテーブルは便利(^o^)ListObject(リストオブジェクト)テーブルを捕まえるテーブル内のデータを取得する(見出し・データ・行・列)構造化参照を使ってテーブルを指定するまとめ ワー続きを読む