2009-06-11 9 views
0

これは奇妙なものです異なるソースからコピーされた同じテキストを貼り付ける動作がExcelで異なる

Excelスプレッドシートからデータを読み込むプロジェクトがあります。明らかに、このデータは特定の形式でなければなりません。いくつかのフィールドは数字で構成されていますが、テキストとして扱う必要があります。

Excelを「スマート」にしてセルの種類を変更しないようにするには、それぞれのセルの形式を「テキスト」に設定しています。

ここに問題があります。貼り付けている数字の中には、数字の間にスペースがあるものがあります。ホワイトスペースを削除すると、Excelはセルフォーマットを「標準」に変更し、テキストを2.42805E + 11フォーマットに変換します。

ただし、これはテキストが一部のソースからコピーされた場合にのみ発生します。テキストボックスからコピーした数字をペーストすると、スペースを編集するとすべてがうまくいく。 Webページから正確に同じ番号をコピーすると、Excelはセルフォーマットを変更します。

私はコピー貼りはコピー貼り付けだと思っていましたが、明らかに何らかのフォーマティングや何かが乗っています。

これを引き起こす原因を知っている人はいますか、またはExcelでフォーマッティングを「スマート」にしなくてはなりませんか?

編集:私はこれに多少の特異な解決策を見つけました。私はパラメータとしてテキストと共に「ペースト・スペシャル」機能を使用するマクロを記録し、その特定のスプレッドシート内でそれをオーバーライドしたctrl-vをオーバーライドしました。魅力的な作品!しかし、ちょっと "ハッキー"な感じがする。これが逆行するシナリオを誰も考えることができますか?

答えて

3

Edit Paste Specialコマンドを使用すると、データの処理方法を選択できるようになります。

実際に起こっていることの複雑さの味については、MSDN about Clipboard Formatsをご覧ください。要するに、それはすべてのExcelのフォールトではありません...

エクセルからデータをコピーする一般的なトリックは、メモ帳に貼り付けて、クリップボードに戻して、すべての書式をプレーンテキストに平らにすることです。ただし、Excelにデータを貼り付けるのには役立ちません。

+0

メモ帳からExcelへのコピーも同様に機能します。ありがとう。 – erikric

0

Windowsのコピー貼り付けでは書式設定が保持されます。書式設定を取り除く1つの方法は、例えばテキストをテキストに貼り付けることである。メモ帳を最初に選択し、それを再度選択してコピーします。これにより、コピーされた書式は失われます。