|
nさんのご指摘通り、シェイプ連番が大きくなりすぎていたようです。
そのため、オートフィルタは固定したままで、ファイルを閉じる時に
オートフィルタで絞込みした場合には、絞込みを解除させる様に
したいのですが、どのようなコードを組んだらよいのでしょうか。
▼n さん:
>コマンドボタンが消えた代わりにオートフィルタのDrop Downが部分的に残ってたりしてませんか?
>しかもこのDrop Downにはオートフィルタ機能がなく、手作業で削除できない。
>
>また、そのシートにシェイプを追加して名前を確認してみてください。
>例えば四角形を追加した場合、『四角形 XXXXX』となり、XXXXXの部分はシートごとのシェイプの作成連番になります。
>その連番が65536以上の場合、シェイプ連番が大きくなりすぎた事による不具合です。
>Ver2000の場合はオートフィルタのOn/Off繰り返しでシェイプが削除されるバグがあります。
>
>オートフィルタの▼(ドロップダウン)もシェイプの一種で、『Excel2002以前』では
>オートフィルタのOn/Offの繰り返しの度に、ドロップダウンの作成削除を繰り返す事になります。
>そのため広範囲のオートフィルタOn/Off繰り返しは、シェイプの連番加算が早くなります。
>困った事に、オートフィルタOffの時、ドロップダウンの連番から65536を引いた番号を持つシェイプが
>運悪くシート上に存在した場合、ドロップダウンが削除される替わりにそのシェイプが削除されます。
>//blog.goo.ne.jp/end-u/d/20080118
>
>対策としては
>フィルタ範囲が固定されているならオートフィルタのOn/Offではなく、ShowAllDataメソッドでフィルタ解除に留めておく。
>とか、消える事を前提に、存在チェック後コマンドボタンを動的に配置しリカバリできるようにしたり。
>..でも優先的な対策としては、サポートが切れた古いバージョンから脱却する事なのかもしれません。
|
|