Excel VBA よく使うセルをブックマークして作業効率を劇的に向上させるマクロ


よく使うセルをリストに追加、リストから選択して該当セルにジャンプするマクロです。

名前を定義したセルにジャンプするExcelの標準機能はありますが、使い勝手はよくありません。このマクロはそれを代替します。平たく言うと、セルのブックマーク機能です。 サンプルはこちらからダウンロード

作業中に何度も参照するセルをリストに追加して、参照するときにリストをワンクリック。該当セルにジャンプします。右上の×ボタンで閉じるまでリストの内容はメモリに保持されます。何百行もあるシートの上から下までスクロールして行ったり来たり、複数のブックやシートを切り替えて行ったり来たり。このような場面で威力を発揮するマクロです。

使い方

1. 右クリックメニューからユーザーフォームを表示させる。

2. 任意のセルを選択し、名前を入力 または 入力せずに 追加ボタンを押す。

3. リストボックスに2で選択したセルの名前またはセル番地などが表示される。

4. リストボックスの任意のアイテムをクリックし、該当セルにジャンプする

ソースコード

難しいところは特にないので大部分は割愛します。知りたい人は、サンプル をダウンロードして調べてみてください。

唯一難しいところは、「リストボックス上にアイテムが一つしかなく、なおかつ、そのアイテムがすでに選択済みである場合、再度そのアイテムをクリックしてもClickイベントが発生しない」ということです。

対策として、リストボックスの MouseDownイベントに下記のコードを書きました。リストボックスにアイテムが一つある場合だけのための処理です。

Private Sub lbFavorites_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Me.lbFavorites.ListCount > 1 Then Exit Sub On Error GoTo errHundler Dim wb As String, ws As String, targetRng As String Dim tmp As Variant tmp = Split(Me.lbFavorites.Value, "!") wb = tmp(0) ws = tmp(1) targetRng = tmp(2) Workbooks(wb).Activate Workbooks(wb).Sheets(ws).Activate ActiveSheet.Range(targetRng).Activate Exit Sub errHundler: End Sub

#Excelvba #ジャンプ #ブックマーク