この記事を読むのに必要な時間は約 7 分です。

 

シートが大量にあるエクセルで、一気に先頭のシートへジャンプしたいってことありませんか?

 

エクセルの左下をCtrl + 左クリックとか、右クリックして任意のシートを選択する方法もありますが、
今回はVBAでショートカットキーを作ってみたいと思います。

 

VBAと言っても、ソースコードは数行だけ。
めちゃくちゃ簡単に出来ちゃいます。

たくさんシートがあると、先頭のシートに戻るのが面倒

昨日の投稿で、先頭の目次シート「Index」から、ハイパーリンクで任意のシートへ移動できる方法を紹介しました。

 

 

この方法で目的のシートへ行くのは楽になりました。

 

でも、戻ってくるのは大変です。

VBAで先頭のシートを選択するショートカット作成

 

VBAでショートカットキーを作る

マウスも使わずサクッと先頭のシートを選択できるショートカットキーを作ります。

コーディングの準備

拡張子が「xlsx」のままだとマクロが保存できません。

 

「xlsm」または「xls」として名前を付けて保存します。
「xls」の場合、最大65536行だったり、横側も256列だったりと少ないので注意してくださいね。

VBAで先頭のシートを選択するショートカット作成

ソースコードを書く

「Alt + F11」または、開発タブの「Visual Basic」ボタンを押して、VBのソースコードを書くエディターを開きます。

 

開発者タブの表示方法はこちら。

 

VBAで先頭のシートを選択するショートカット作成

 

「ThisWorkbook」をダブルクリックします。

VBAで先頭のシートを選択するショートカット作成

 

ソースコードを入力するウインドウが表示されました。

 

最初からOption Explicit と表示されているのは、変数の宣言を強制するオプションを設定しているためです。
とりあえず気にしないで大丈夫です。

VBAで先頭のシートを選択するショートカット作成

 

ソースコードはこちら

このソースコードを貼り付けてみてください。

「Sheets(1)」というのは、1番目のシートという意味です。

 

「.Select」で、シートのオブジェクトが選択されます。

VBAで先頭のシートを選択するショートカット作成

 

ショートカットキーを登録

ソースコードは出来たので、ショートカットキーを登録します。

 

開発者タブ内の「マクロ」をクリックして、

VBAで先頭のシートを選択するショートカット作成

 

「オプション」をクリックします。

VBAで先頭のシートを選択するショートカットキー作成

 

「マクロオプション」の画面でショートカットキーを登録します。

 

個人的には、シートをジャンプするので「j」がおススメですね。

VBAで先頭のシートを選択するショートカットキー作成

 

既に他のショートカットキーとして割り当てているという方には、Shiftを押しながら入力して、「Ctrl + Shift + j」というようなショートカットキーもあります。

VBAで先頭のシートを選択するショートカットキー作成

 

「OK」ボタンで保存し、

VBAで先頭のシートを選択するショートカットキー作成

 

元の「マクロ」画面も閉じます。

VBAで先頭のシートを選択するショートカットキー作成

作ったショートカットキーを実行してみる

では早速実行してみます。

VBAで先頭のシートを選択するショートカットキー作成

 

一瞬で先頭のシート「Index」が選択されました。

VBAで先頭のシートを選択するショートカットキー作成

 

ソースコードが短すぎて、エラーになる気がしないかもしれませんが、実は、シート名というちょっとした落とし穴が潜んでいます。

ソースコードにシート名を書くのはおススメ出来ない

カッコ()の中に、ダブルクォーテーション「””」で囲んでシート名を書くことも可能です。

 

注意すべきは、シート名なんて変更されてしまう可能性があること。

VBAで先頭のシートを選択するショートカットキー作成

 

ソースコード上では「Sheets(“Index”)」に変更しています。
試しにシート名を変更して、実行してみたいと思います。

VBAで先頭のシートを選択するショートカットキー作成

 

どれも分かる人には分かるIndexではありますが、VBAのエラーメッセージが表示されてしまいました。

 

「Sheets(1)」と表記しておけば、シート名に関わらず1番目のシートを選択してくれます。

先頭のシートが非表示の場合の対処法

実はまだ落とし穴がありまして、先頭シートが非表示だったらエラーになってしまいます。

 

表示されていないままのシートを選択なんて出来ないですから。

先頭シートが非表示の場合にも対応したソースコード

 

簡単に解説すると、

  1. シート番号1からループして
  2. 「.Visible = True」の場合のシートを選択
  3. ついでにA1セルも選択
  4. 関数を抜ける

 

というソースコードです。

VBAで先頭のシートを選択、非表示対応

 

さっそく先頭のシートを非表示にして、実行してみたいと思います。

VBAで先頭のシートを選択、非表示対応

 

ショートカットキーは、せっかくなので「Ctrl + Shift + J」を登録。

VBAで先頭のシートを選択、非表示対応

 

押してみます!!

 

エラーになることなく、表示されている中での先頭のシートが無事選択されました。

VBAで先頭のシートを選択、非表示対応

まとめ:エクセルVBAで、先頭のシートを選択するショートカットキー作成

エクセルVBAで、先頭のシートへジャンプするショートカットキーの作り方でした。

 

とりあえずやってみるには、ソースコードをコピペしてショートカットキーを割り当てて実行するだけです。

 

もしも、開発者タブの表示方法が分からなかったら、こちらの記事を参考にしてみてくださいね。

 

 

最後までお読みいただき、ありがとうございました。