人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

こんにちは。

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

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

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

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

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


●質問者: inu
●カテゴリ:コンピュータ
✍キーワード:CSV Excel こんにちは エディタ セル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● SALINGER
●26ポイント

まず、原因から。

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


2 ● きゃづみぃ
●27ポイント

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

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

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

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

違ってきます。

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

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

↓プログラム

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


3 ● HALSPECIAL
●27ポイント

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

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


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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ