0

今、これは奇妙なものです

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

Excelが「スマート」になるのを止めてセルの種類を変更するために、それぞれのセルのフォーマットを「テキスト」に設定しました。

ここで問題があります。貼り付けている数字の一部には、数字の間にスペースがあります。空白を削除すると、Excel はセル形式を「標準」に変更し、テキストを 2.42805E+11 形式に変換します。

BUT: これは、テキストが一部のソースからコピーされた場合にのみ発生します。テキストボックスからコピーした数字を貼り付けると、スペースを編集するとすべてうまくいきます。Web ページからまったく同じ数値をコピーすると、Excel のセル形式が変更されます。

コピー&ペーストはコピー&ペーストになると思っていたのですが、明らかに何らかのフォーマットや何かがうまくいっています。

これの原因を知っている人はいますか、または書式設定で Excel が「スマート」になるのをやめる必要があることを知っていますか?

編集:これにはやや独特の解決策が見つかりました。テキストをパラメーターとして「特殊貼り付け」機能を使用するマクロを記録し、それで ctrl-v をオーバーライドしました (その特定のスプレッドシートで)。魔法のように動作します!ただし、少し「ハッキー」に感じます。これが裏目に出るシナリオを考えられる人はいますか?

4

2 に答える 2

3

Edit Paste Special コマンドを使用してみてください。データの処理方法を選択するためのコントロールが表示されます。

下で実際に何が起こっているかの複雑さについては、MSDN about Clipboard Formatsを参照してください。要するに、それはすべてExcelのせいではありません...

Excel からデータをコピーする一般的なユーザーのトリックは、メモ帳に貼り付けてクリップボードに戻すことです。これにより、すべての書式設定がプレーン テキストにフラット化されます。ただし、データを Excel に貼り付ける場合には役に立ちません。

于 2009-06-11T09:18:29.093 に答える
0

Windows でのコピー アンド ペーストでは、書式設定が保持されます。書式設定を取り除く 1 つの方法は、最初にテキストをメモ帳などに貼り付けてから、もう一度選択してコピーすることです。これにより、コピーされた書式が失われます。

于 2009-06-11T09:18:56.753 に答える