エクセルで、セル内に改行がある場合、そのセルを選択してコピーし、txtファイルに貼り付けるとデータの前後にダブルクオーテーションがついてしまいます。


---------------------------
これがデータセル内に改行→
二行目です
---------------------------

↓このデータをテキストに貼り付けると

---------------------------
”これがデータセル内に改行→
二行目です”
---------------------------

となるのです。
セルの中身を選択(F2キー)して文字自身をコピーすればもちろんうまくいくのですが、それでは面倒です。
セルを選択しただけでコピーして、ダブルクオーテーションがつかない方法はありませんでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:goldwell No.1

回答回数502ベストアンサー獲得回数61

ポイント10pt

http://pc21.nikkeibp.co.jp/tech/excel36/31/

$BF|7P(BPC21 / $B%;%kFb$N2~9T$r$J$/$9(B

エクセルからテキストファイルにコピーということなら、セル内の改行は不要ですよね?


単に改行コードを消してからコピーすればいいのでしたら、CLEAN関数を使ったらいかがでしょうか。

http://plaza.rakuten.co.jp/pasodairy/diary/200505210000/

Excel セル内の改行をいっぺんに削除!  - パソってますか?  - 楽天ブログ(Blog)

それから改行コードを検索・置換するにはCtrlキー+Jキーで行う方法もあります。

id:love2u2

テキストにコピーした後も、文章に改行コードは必要なのです。

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

2006/01/14 17:47:56
id:goldwell No.2

回答回数502ベストアンサー獲得回数61

ポイント10pt

再回答失礼します。

貼り付ける時に、メモ帳を使用しているかと思います。

試してみましたが、確かにメモ帳ですとダブルクオーテーションがついてしまいましたが、ワードパットに貼り付けてみたら、書式情報が保存される為、改行は維持されます。


で、ファイルを.txtで保存する。書式情報が失われますとメッセージが出ますが、大丈夫でした。


もし参考にならなければポイントは結構です。


似たような質問はありましたが、あまり参考にはならないようです・・・。

id:love2u2

秀丸をつかっているのですが、なるほど、ワードパッドですか・・・。

微妙ですね・・・。重いですよね・・・。

引用していただいたはてなの方も同じようなナヤミですね。

私は、CSVの仕様だとはわかっていますが、より詳しい仕様がわかればなんとかならないものかと思ったもので・・・。ありがとうございました。

2006/01/17 05:36:13
id:junkitch No.3

回答回数40ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/1137168136

人力検索はてな - エクセルで、セル内に改行がある場合、そのセルを選択してコピーし、txtファイルに貼り付けるとデータの前後にダブルクオーテーションがついてしまいます。 --------------..

貼り付けた後に、「”」(ダブルクオテーション)を「」(空白)に

置換するのはダメですか?


正確に置換するなら「”¥t”」(ダブルクオテーション+タブ+ダブル

クオテーション)を「¥t」(タブ)に置換すればいいと思います。

最初の列の扱いなども、適宜工夫すればなんとかできそうです。

id:love2u2

よいのですが、それも数が増えればかなり面倒な作業なので・・・。

事情によりまとめて置換はできないのです・・・。

2006/01/17 05:37:10
id:mizki101 No.4

回答回数209ベストアンサー獲得回数5

ポイント10pt

http://hide.maruo.co.jp/software/hidemaru.html

�G�܂邨�̃z�[���y�[�W�|�G�ۃG�f�B�^

http://www.shuiren.org/chuden/teach/hidemaru/04.htm

秀丸エディタを使いこなす ―文字列を置換―

私も似たような作業をしますが、その際はテキストエディタに秀丸を使います。


貼付けた後に置換で

検索:”(ダブルクオーテーション)

置換:  ←何も入力しない


で全置換してしまえば、貼付けたテキストから全てダブルクオーテーションがなくなります。


正規表現を使えば、行頭のみ、行末のみと指定も出来ます。


参考までに。

id:love2u2

おっしゃるとおりなのですが、事情によりまとめて置換できないので、CSVの仕様の裏をついて、エクセル上でうまくダブルクオーテーションがつかないようにしたいのです・・・。

2006/01/21 02:04:33
id:bonlife No.5

回答回数421ベストアンサー獲得回数75

ポイント30pt

http://hide.maruo.co.jp/

�G�܂邨�̃z�[���y�[�W

EXCEL上でなんとかしたい、という要望にはこたえられないかもしれませんが、以下のようなマクロを作って登録しておき、EXCELからのデータを貼り付ける際に実行すれば良いのではないでしょうか。

(マクロも登録しておけばCtrl+番号で実行できますので操作はそれほど大変じゃないと思います。)


// クリップボード操作開始

beginclipboardread;


// 配列$a[]にクリップボードの内容を一行ずつ取り込み

#i=0;

$a[#i]=getclipboard;


while($a[#i]!=””){

#i=#i+1;

$a[#i]=getclipboard;

}


// 配列$a[]の内容を一行ずつ貼り付け、ダブルクォートを削除


#j=0;

while($a[#j]!=””){

insert $a[#j];

up 1;

selectline;

replaceall ”¥””, ”” , inselect;

down 1;

#j=#j+1;

}


上のままでは元ソースのEXCELにダブルクォートが含まれる場合、それも削除してしまいます。それが困る場合はダブルクォート2つ連続しているものを一時的に他では絶対に使わない文字列(たとえばhogehoge)に置き換えて、ダブルクォートを削除後、hogehogeをダブルクォートに再度置換することで対応可能っぽいです。がダサいですね、処理が。もっとうまいやり方がありそうな予感。


参考になれば幸いです。

id:love2u2

なるほど、ここまでしていただいてありがとうございます。

この方針で考えてみるしかなさそうですね。

2006/01/21 02:05:36
id:izumififty No.6

回答回数10ベストアンサー獲得回数0

ポイント20pt

http://www.vector.co.jp/soft/win95/util/se085933.html

ClpSs(Windows95/98/Me / ユーティリティ)

シェアウェア「ClpSs」を使用した方法です。

このソフトは常駐させる必要があります。


このソフトは、クリップボード内のテキストを即時に置換するものです。


当該事象の場合、「”」→「」(何も無し)へ置換することでダブルコーテーションを削除することが出来ます。


改行コードも残ったままでした。


趣旨が違う内容だったらすみません。

id:love2u2

なるほど。こんなソフトもあるんですね。

他のことにも使えそうですね。

2006/01/21 02:10:04

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

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

トラックバック

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

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

回答リクエストを送信したユーザーはいません