Excelのシート枚数が増えると、
シート移動だけで地味に時間を取られます。
- 最初のシートに移動
- 特定のシートに移動
- 最後のシートに移動
この3つを押さえておくと、Excelの操作がかなりラクになります。
VBAを使いますが、コードは短めです。
VBAに慣れていない方でも試しやすいかと思いますので、その内容を書いてみます。

VBAを使う前の準備
VBA設定の基本は以下で解説しています。

シート移動に使うVBAコード3つ
①最初のシートに移動
「1枚目のシートを選択する」というコードです。
非常にシンプルです。
Sub first_sheet()
Sheets(1).Activate
End Sub②特定のシートに移動
これも似たような形です。
「Sheets(1)」としていたところに、
「Sheets(“シート名”)」とするだけです。
毎日繰り返し使うようなシートがあれば、
そのシート名をセットしておくと効率化につながります。
Sub MoveToTargetSheet()
Sheets("シート名").Activate
End Sub※”シート名” の部分を、実際に移動したいシート名に変更します。
たとえば「集計」というシートに移動したい場合は、Worksheets(“集計”).Activate とします。
③最後のシートに移動
最後のシートに移動する場合は、少しだけ変数を使います。
最後のシートの順番は、その時々で変わるため、
現在のシート数を数えて、その番号のシートを選ぶためです。
Sub last_sheet()
Dim i As Long
i = ActiveWorkbook.Sheets.Count
Sheets(i).Activate
End Sub「Sheets(i).Activate」という構造は、①②と同様。
「i」という変数を設定し、
「ActiveWorkbook.Sheets.Count」で、操作しているExcelブックのシートをカウントしている点だけ、
少しだけ複雑かもしれません。
YouTubeでも解説
YouTubeでも話しているので、もしよろしければご覧ください。
(瞬間移動術①~③)
地味に時間がかかること
Excelのシート移動って、地味に時間がかかります。
些細なことかもしれませんが、こういったレベルから効率化を考えてみてもいいかなと思うのです。
シートの移動をしない日はないですから。
(私の場合)
小さなストレスを見つけたら、解消する方法を考えていきましょう。
まとめ
シート移動に関するVBAは、過去の記事やYouTubeで公開しているものの、
まとまっていなかったので、今回書いてみました。
最初/最後のシート移動だけでも、取り入れてみていただくと
「結構使い勝手がいいな」と感じていただけるはずです。
以上、少しでも参考になる点があれば幸いです。
では、また次回。
編集後記
◇日記
昨日は午前中にボディワークショップに参加。
その後、税理士業。午後は日比谷の交流会に参加。
◇ブログネタ経緯
ふと思い浮かんだネタを。
◇1日1新
フリーランス交流会