2012年3月29日木曜日

Excel:「塗りつぶしの色」を2回クリックしないと塗りつぶせない件

ふとおかしなことに気づきました。
あるシートでセルに色をつけようとしたら、「塗りつぶしの色」を一回クリックしても何も変わりません。もう一回クリックすると色が変わりました。何度やっても同じです。


シートはAccessからエクスポートしたものでした。書式設定を見てみたところ、妙なことが起こっていました。
「塗りつぶしの色」をクリックする前の状態:


背景色が何も設定されていません。「色なし」もオフの状態です。VBEで値を見ると-4142(xlNone)になっています。パターンの色はなんでだか黒になってますが、背景色がxlNoneなのでこちらもxlNoneとなっています。
一回クリックした後の状態:


背景色は「色なし」がオンになり、パターンの色は「自動」に変わりました。VBEでの値は変わりません。
もう一回クリックした後の状態:


これで色がつきました。パターンの色もVBEで-4105(xlAutomatic)に変わっています。

「塗りつぶしの色」をクリックする前がおかしかったわけですが、このシートはVBAからDoCmd.OutputToでacFormatXLSX(.xlsx形式)を指定してエクスポートしたものでした。
.xls形式を指定した場合このようなことは起きませんでした(余談ですがacFormatXLSではなく"Excel 97-2003 ブック (*.xls)"という文字列を指定すると、5.0/95ブックではなく97-2003ブックにできることを最近知りました)。

まあExcelにエクスポートした時におかしいのは、以前のAccessからあったことですが。

3 件のコメント:

fantasthic さんのコメント...

拡張子xlsなら1クリックになるのですね!今度やってみます。ありがとうございました。

fantasthic さんのコメント...

Excel97-2003形式で保存すれば、1クリックで塗りつぶせました。
また、名前をつけて保存>全般OP>「バックアップファイル作成」もOFFになっていました。名前をつけて保存の作業が不要になりました。ありがとうございました。

bardiel さんのコメント...

お役に立ってよかったです!

コメントを投稿