現在フォーカス(選択)している場所を簡単に判断したい
エクセルで入力している時に、今自分がどこを選択(フォーカス)しているのか知りたい時があります。
SelectionChangeを利用して、選択行、選択列に背景色を付けましょう。
セルクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】
フォーカスしているセルの選択行選択列に色を付けるサンプルコード
一度全てのRowやColumnsの背景色塗りつぶしを無(xlNone)としています。
その後、フォーカスしている部分の背景を塗り潰す処理を入れます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '■背景色の初期化(塗り潰しをクリア) Rows(1 & ":" & Rows.Count).Interior.ColorIndex = xlNone Range(Columns(1), Columns(Columns.Count)).Interior.ColorIndex = xlNone '■選択行、列に背景色を付ける(塗り潰す) Rows(Target.Row).Interior.ColorIndex = 38 Columns(Target.Column).Interior.ColorIndex = 38 End Sub
注意事項
- 標準モジュールでは動作しません。ワークシートモジュールに記載しましょう。
- 背景色の指定はこちらの記事で参照可能です。
【VBA一覧】ColorIndex(文字色/背景色/見出し色) - パソコンのスペックによっては縦横の塗りつぶしが遅れるかもしれません。
その場合、高速化の処理を入れれば、見た目上はストレスありません。
「マクロ処理を高速化する」をパーツ化する【ExcelVBA】
関連記事
特定のセルをクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】
チェックシートの入力を簡単に行う(SelectionChangeでクリックで入力完了)【ExcelVBA】
特定のセルをダブルクリックした場合に処理を実行する【BeforeDoubleClick】【ExcelVBA】
コメント