目次
はじめに
「誰かに見せるExcelファイルは、必ずA1セルから表示されるようにしておくこと」――そんなルールを上司から言われたことはありませんか?
私自身、そのルールをよく忘れてしまうため、「ファイルを開いたときに自動でA1セルに移動する方法」をVBAで実現できないか試してみました。
今回は、Excelを開いた瞬間に指定のセル(A1)へ自動で移動する方法をご紹介します。
実現したいこと
- Excelファイルを開いたときに、常に 「Sheet1」のA1セルを選択した状態にする
- 手動でのセル移動を省略し、見せたい位置を固定する
使用する仕組み:ThisWorkbookのWorkbook_Open
イベント
VBAでは、**ブックを開いたときに実行されるイベント「Workbook_Open」**を使うことで、ファイルオープン時に自動処理を仕込むことができます。
このコードは「ThisWorkbook」内に記述することで、そのブックを開いたタイミングで自動実行されます。
手順:ThisWorkbookにコードを追加する
1. VBAエディタを開く
- Excelの「開発」タブ → 「Visual Basic」をクリック
2. ThisWorkbookを開く
- 左側の「Microsoft Excel Objects」内にある 「ThisWorkbook」 をダブルクリック
3. 以下のコードを入力
Private Sub Workbook_Open()
Worksheets("Sheet1").Activate
Range("A1").Select
End Sub
コードの解説
Workbook_Open()
→ Excelファイルを開いたときに実行されるイベントプロシージャです。Worksheets("Sheet1").Activate
→ 「Sheet1」をアクティブにします(表示を切り替えます)。Range("A1").Select
→ シート内のセルA1を選択状態にします。
このコードにより、ファイルを開いたときには必ず「Sheet1」のA1セルが表示されるようになります。
注意点と補足
- シート名「Sheet1」が異なる場合は、実際のシート名に書き換えてください。
- 他のシートから始めたい場合も、同様にシート名を指定すれば対応可能です。
- セキュリティ設定によっては、マクロが無効になっていると動作しませんので、マクロ有効ブック(.xlsm)として保存し、マクロの実行許可も必要です。
まとめ
Excelファイルを開いたときに自動的にセルA1へ移動するには、ThisWorkbookに「Workbook_Open」イベントを使ったVBAコードを記述するのが最も簡単で確実です。
「見せたいセルを固定しておく」「ファイルをきれいな状態で開かせたい」といったニーズには特に効果的です。
手間も少なく、導入しやすい機能ですので、ぜひ一度お試しください。
少しでも参考になれば幸いです。