Excelの×ボタンをクリックしたら保存するか問われるように、適当にセル値を編集しておきます。
ボタンをクリック(してシートからフォーカスを外すことがミソ)します。
ここでセルを選択すると再現しなくなります。
そのまま、Excelの×ボタンをクリックして、キャンセルボタンでExcelの終了を中断します。
新規Bookなり、適当なファイルなりを開くと、
- Excelの×ボタンで閉じれない
- Alt+F4で閉じれない
- タスクバーから閉じれない
- [ファイル]→[閉じる]メニューでは閉じれる
わー、なんだこれー\(*゚∀゚*)/
Excel2013、2016、2019、Microsoft365で発生していることは確認済みです。
なので、例えばボタンをクリックしたらApplication.Selection.Select処理が必要。
ただ、これだとスクロール位置が変わってしまうことも。
なのでActiveWindow.ScrollColumnとActiveWindow.ScrollRowを覚えておいて、Select処理後に元の位置に戻す必要があるなぁ。
ちらつき防止に Application.ScreenUpdating の一時無効も忘れずに。
今選択されているセルを再選択するだけなので、Worksheet_SelectionChangeは実行されない。
が、ちょっと怖い。
必要な人はApplication.EnableEventsも一時無効化した方が安心か?
Application.ScreenUpdating = False
Application.EnableEvents = False
nowCol = ActiveWindow.ScrollColumn
nowRow = ActiveWindow.ScrollRow
Application.Selection.Select
ActiveWindow.ScrollColumn = nowCol
ActiveWindow.ScrollRow = nowRow
Application.ScreenUpdating = True
Application.EnableEvents = True
今選択されているセルを再選択するだけなので、Worksheet_SelectionChangeは実行されない。
が、ちょっと怖い。
必要な人はApplication.EnableEventsも一時無効化した方が安心か?
他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。