Excelシートで、セルの中の改行文字を取りたいのですがうまくできません。
Excelシートの全セルを選択し、置換機能でctrl+jを空白文字(スペースでは無く、何もない文字)
に変換してからcsv形式に保存しても、そのファイルをテキストエディタで開くと改行が入ってしまいます。
Excelでの変換方法に原因があるのでしょうか?
それか、フリーのエディタソフトを使って変換する方法があれば教えて下さい。
よろしくお願いいたします。
まず、原因から。
通常セル内のAlt+Enterによる改行は、LF(ラインフィード)です。
そして、一般的なWindowsの改行はCRLF(キャリッジリターン+ラインフィード)です。
テキストをセルにコピペしたり、マクロで改行を入れるとこのCRLFが改行として入ります。
ここで、Ctrl+jはLFを意味するショートカットです。
それでLFを空白に置換してもCRが残ったため改行したというわけです。
そこで、選択した範囲のLFもCRも削除するマクロを紹介しておきます。
Sub test() Dim r As Range For Each r In Selection r.Value = Replace(Replace(r.Value, vbCr, ""), vbLf, "") Next End Sub