こんにちは。


Excelシートで、セルの中の改行文字を取りたいのですがうまくできません。

Excelシートの全セルを選択し、置換機能でctrl+jを空白文字(スペースでは無く、何もない文字)
に変換してからcsv形式に保存しても、そのファイルをテキストエディタで開くと改行が入ってしまいます。

Excelでの変換方法に原因があるのでしょうか?

それか、フリーのエディタソフトを使って変換する方法があれば教えて下さい。

よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/31 09:57:47
  • 終了:2010/04/07 10:00:03

回答(3件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/03/31 15:46:59

ポイント26pt

まず、原因から。

通常セル内の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

http://q.hatena.ne.jp/

id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982010/03/31 10:54:07

ポイント27pt

フリーのエディタで 置換する場合、正規表現が 使えるものがあります。

たとえば サクラエディタとか。

そのとき 改行は \n で指定できます。

ただ、無条件で すべての改行を置換してしまっていいのかどうかは どのような結果にしたいかで

違ってきます。

http://members.at.infoseek.co.jp/sakura_editor/snapshot.html

VBAを用いて改行を削除する方法があります。

↓プログラム

http://www.moug.net/tech/exvba/0050128.htm

id:HALSPECIAL No.3

HALSPECIAL回答回数407ベストアンサー獲得回数862010/03/31 10:06:48

ポイント27pt

当方Excel2007で試しましたが、問題ありませんでした。

質問者さんのバージョンは何ですか?


置換機能でctrl+jを空文字で置換した際、エクセルのセル上での表示は

改行が除去された表示になっていますか?

(置換自体が上手く行っていないのではないかと思います)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません