|
対象は複数Sheetが存在するBookです。
Workbook_OpenイベントでSheet1のセル(仮称:セルX)に自動で値が入る処理を書いています。
・セルX=func_A
・セルXのRangeに対しWorkbook_OpenでDirtyメソッドをCall
・func_AにはVolatileをCall
その後、Sheet1の別のセル(仮称:セルY)の値を変更し、変更値に応じてSheet2〜4の表示/非表示を切り替える処理をWorksheet_Changeイベントプロシージャに記述しています。
Bookをオープンした後すぐにSheet1のセルYを変更すると、本来ならSheet2〜4の表示/非表示処理が走るはずなのですが、イベントプロシージャを通っているにもかかわらず、表示が切り替わりません。
更にもう一度Sheet1のセルYを変更すると今度は正常に動作します。
最初にセルYを変更した時に、デバッガで処理途中でのSheet2〜4のVisibleの値を見ましたが、正しく設定されていました。
どうやら1度目だけが正常に表示されないようです。
Volatileの影響だとは思うのですが、原因と回避策についてどなたかご存知の方がいましたら、ご指導のほど宜しくお願い致します。
|
|