by manamana
14. 9月 2010 22:23
とある Excel データを Access に転送していたのですが、ちょっとはまりました。
↑を見てもらうと分かりますが、セルには 12345 と入力していますが、表示は *12,345 です。
これは、セルの書式をユーザー定義する事で実現していました。
ですから、この様に式で参照すると 12345 と表示されます。 ※F1の書式は「標準」
-->
Excel -> Access へコピペすると、 何故か '*' 部分が消えてしまいます。 (※Access の Field はどちらも Text 型)
「',' はいいけど、どうしても '*' 付きでコピペしたい」 としばし悩み、結局ユーザー関数を作りました。
単純に、Range.Text() で String を返すだけの関数を用意します。
それをワークシート関数の様に利用するだけです。
-->
これなら Excel -> Access へコピペしても '*' は消えません ・・・ 理由はわからないけど、まぁいいや。
9/15 追記
寝ながら考えた理由: Excel->Access のコピペ時に "標準" の書式に整形するから
今回のようなコピペをしたいなら、 Excel-> Text Editor -> Access の順にコピペすれば良い事に気づきました。
クリップボード上のデータを調査すれば裏は取れると思いますが、さすがにそれは面倒だな~
3167c0dd-6f4f-4428-aa53-21177c16fd71|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development