VBAの実行が終わった後の最終的な外観は、選択されたものが何もない状態にしたいと思っています。つまり、シート上のセルや範囲が色付けされていなかったり(範囲が選択されていた場合)、太線のボックスに入っていたり(選択されていたもの)します。 目的:クライアントにきちんとした最終的な外観を提示する。
検索しましたが、この方法が見つかりません。 MSによるとUnselectがあるようですが、何もできないようです。
任意のセルを選択し、CutCopy
をオフにします。
Range("A1").Select
Application.CutCopyMode = False
Excelでは常に何かが選択されています。回避策が必要です。画面外のセルを選択すると、そこにフォーカスが当たるので、それだけではうまくいきません。このコードでは、カーソルを画面外に置き、シートを上にスクロールして A1
を表示します。
Sub NoSelect()
Range("BB100").Select
ActiveWindow.SmallScroll up:=100
ActiveWindow.SmallScroll ToLeft:=44
End Sub
どうしても「何も選択されていない」状態にしたい場合は、VBAを使ってコード実行の最後にシートを保護することで、何も選択されない状態にすることができます。これは、マクロに追加するか、VBAに直接入れることができます。
Sub NoSelect()
With ActiveSheet
.EnableSelection = xlNoSelection
.Protect
End With
End Sub
シートの保護が解除されると同時に、カーソルがセルをアクティブにします。