検索結果がどこにあるか分からない事件

f:id:Infoment:20190626224527p:plain

職場で、このような相談を受けた。

「検索」で探した結果、該当するどこかのセルが選ばれているはずなのだが、目で探せないことが多い。何とかならないか?

例えば、このようなことだ。「馬肉」で検索した結果、「A5」セルが選択されているのだが、気付くことが出来ない。
f:id:Infoment:20190626222557g:plain


まず、左上の「名前ボックス」を見る方法を伝えたが、却下された。そこから目で追って、A5を探しに行かなければならないからだ。
f:id:Infoment:20190626222745p:plain


そこで直感的に判断できるよう、次のような仕掛けを設定してみた。
対象となるシートに、SelectionChangeイベントを設定する。これにより、シート内の選択範囲が変わった場合、選択範囲をTargetとして返すイベントが発生する。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.Goto Target(1), True
End Sub

今回は、選択範囲の一つ目のセルが、一番左上にくるようにしてみた(Application.Goto Target(1), の後の「True」)。
docs.microsoft.com


結果、このようになった。
f:id:Infoment:20190626223930g:plain


検索結果が左上に来るので、目であちこち探す必要はなくなった。
一方で、シートのどこかをマウスでクリックするたびにスクロールするため、扱い難いものになってしまった。

もう一工夫が必要のようだ。明日に続きます。

参考まで。