プロが教えるわが家の防犯対策術!

EXCELからデータの更新(!マークで実行するやつ)で、ACCESSのクエリーの結果をEXCELに取り込んでいるのですが、
EXCELの列の横幅を狭くしておいて、"縮小して全体を表示する"にしてあるのですが、データを更新すると列幅が、
ACCESSで定義してあるフィールドサイズに広がってしまいます。
(テキスト型でフィールドサイズ50だと、MSゴシックで全角25文字ぐらいの列幅に)

データの更新時に、列幅が自動で広がらないようにする事って出来るのでしょうか?
(マクロで全部の列の列幅を定義しておいて、データの更新後にマクロ実行して列幅を戻すのは出来ると思いますが、
 マクロで後で調整しなくても方法ってあるのでしょうか?)

EXCELは2003で、ACCESSは97を使っています

A 回答 (1件)

こんにちは。



その問題は、そのデータの取り込み方に問題があるのではありませんか?

たとえば、Excelの外部データの取り込み(インポート)のオプションに、
「列幅を調整する」というものがあります。

これは、ExcelのQueryTable のオプションのひとつです。

ADO を用いるにしても、Excel側では、勝手に列幅が広がるようなことはないと思います。だから、だいたい、最後は、列に対して、AutoFit を逆に入れて、列幅を調整しているぐらいです。

これらの方法よりも、下位の取り込み方をすれば、おそらく広がってしまうかもしれません。

もちろん、逆も真というか、Access 側から、多少はややこしくなりますが、Excelにエクスポートしてもまったく同じはずです。ただ、QueryTable は、シートにテーブルエリアを残してしまうので、後々、加工しづらくなりますので、最後に、QueryTable のみを削除しなければなりません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

回答の後色々探してやってみたら、外部データ範囲のプロパティの中に、列の幅を調整する という項目があってチェックが入っていたので、外したら列幅が広がらずに出来ました

どうもありがとうございました

お礼日時:2007/02/20 14:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!