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

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

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

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

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

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

●質問者: love2u2
●カテゴリ:コンピュータ
✍キーワード:txt エクセル コピー セル ダブル
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● goldwell
●10ポイント

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

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

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


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

http://www.relief.jp/itnote/archives/000248.php

Yahoo! JAPAN

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

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

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

◎質問者からの返答

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

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


2 ● goldwell
●10ポイント

http://c.hatena.ne.jp/1112898537

再回答失礼します。

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

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


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


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


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

◎質問者からの返答

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

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

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

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


3 ● junkitch
●10ポイント

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

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

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

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


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

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

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

◎質問者からの返答

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

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


4 ● mizki101
●10ポイント

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

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

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


貼付けた後に置換で

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

置換: ←何も入力しない


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


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


参考までに。

◎質問者からの返答

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


5 ●
●30ポイント

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をダブルクォートに再度置換することで対応可能っぽいです。がダサいですね、処理が。もっとうまいやり方がありそうな予感。


参考になれば幸いです。

◎質問者からの返答

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

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


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



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