###発生している事象と質問の内容
win7で稼働中のマクロブックのwin10互換性検証を行っています。
ボタン押下後、
ForEachでシートを順番に取得し、If文で名称が一致したシートにUnprotectを行う処理で、勝手にアクティブになってしまうシートと、問題なく(アクティブにならずに)処理できるシートが混在してしまっています。
この現象では必ず同じシートがアクティブになるのですが、そのシートが複数あり(sheetA、sheetBとします)
-通常実行
→sheetAがアクティブになる
-ステップイン
→どのシートもアクティブにならず、本来アクティブであるべきシート(sheet1)がアクティブになる
-ブレイクポイント設定後、F5押下
→sheetBがアクティブになる
-途中までステップイン後、途中からF5で実行
→F5を押した箇所によってsheetA、sheetB、sheet1とアクティブなシートが変化
と言った状況で、実行方法によってアクティブなシートが変わっていきます。
修正方法は、本来アクティブであるべきシートを「Sheets().Activate」で明示的にアクティブにすれば解決すると思いますが
原因について、見当がつかず困っている、という状況です。
お力を貸していただければ幸いです。
###初期処理より前の処理に関して
現象が発生するボタンがこの処理にたどり着くまでに行っている処理は以下の通りです。
-Application.ScreenUpdating=False
-sheet1のオートフィルタ解除
-ボタン押下フラグの判定
###試したこと
-1つ1つの処理にブレイクポイントを、設置して一度ステップインをしてからF5押下でどこで現象発生するか検証する(End If,Nextにブレイクポイント設置時のみ正しく動作する)
-ウォッチウィンドウでアクティブシートが変化する度に処理を停止させる
-MsgBoxでアクティブシートの名前を表示するようにし、通常実行時のアクティブシートがどう移り変わるか調査(ウォッチウィンドウと同じ結果)
###備考
使用PC1
Windows7(32bit)
Excel2010(32bit)
ver.14.0.7128.5000
使用PC2
Windows10(64bit)
Excel2016(32bit)
ver.16.0.4266.1001
win7ではこの現象は発生しません。
社内環境のため、バージョン変更等はできません。
何卒、よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。