Excel-macros-excel-configuring-macro
提供:Dev Guides
Excelマクロ-マクロの構成
マクロを記録し、Auto_Openという名前で保存して、このマクロを含むブックを開くたびに実行できます。
ブックのOpenイベントを使用して、同じ目的でVBAコードを作成することもできます。 Openイベントは、ブックを開くたびにサブプロシージャWorkbook_Open()のコードを実行します。
Auto_Openマクロの記録
次のようにAuto_Runマクロを記録することができます-
- リボンの[表示]タブをクリックします。
- マクロをクリックします。
- [マクロの記録]をクリックします。 [マクロの記録]ダイアログボックスが表示されます。
- マクロ名にAuto_Runと入力します。
- 説明を入力して[OK]をクリックします。
- マクロの記録を開始します。
- 記録を停止します。
- ワークブックをマクロ対応ワークブックとして保存します。
- ブックを閉じます。
- ブックを開きます。 マクロAuto_Runは自動的に実行されます。
Auto_Openマクロを実行せずにExcelを起動する場合は、Excelを起動するときにShiftキーを押したままにします。
Auto_Openマクロの制限
Auto_Openマクロの制限は次のとおりです-
- Auto_Openマクロを保存したブックにブックのOpenイベントのコードが含まれている場合、OpenイベントのコードはAuto_Openマクロのアクションをオーバーライドします。
- Openメソッドを使用するコードを実行してブックを開いた場合、Auto_Openマクロは無視されます。
- Auto_Openマクロは、他のブックが開く前に実行されます。 したがって、デフォルトのBook1ブックまたはXLStartフォルダーからロードされたブックでExcelに実行するアクションを記録すると、Excelを再起動するとAuto_Openマクロが失敗します。 。
Auto_Openマクロを記録する代わりに、これらの制限のいずれかに遭遇した場合、次のセクションで説明するように、Openイベントのコードを記述する必要があります。
ワークブックのオープンイベントのVBAコード
ブックを開いたときに実行されるコードを作成できます。 VBAは、ブックを開くときに実行するアクションのVBAプロシージャを組み込んだopenと呼ばれるイベントを提供します。
絶対参照用に作成したマクロReport_ProjectXYZを保存したワークブックを開きます。 このマクロを実行すると、新しいワークシートがワークブックに追加され、プロジェクトレポート構造が新しいワークシートに表示されます。
ブックを開くときにこれらのアクションを実行するマクロコードを記述できます。 つまり、プロジェクトレポートワークブックを開くと、レポート構造を備えた新しいワークシートで詳細を入力できる状態になります。
VBAエディターで以下の手順に従います
- Projects ExplorerでThisWorkbookをダブルクリックします。
- コードウィンドウの左側のドロップダウンリストで[ワークブック]を選択し、右側のドロップダウンリストで[開く]を選択します。 サブWorkbook_Open()が表示されます。
- プロジェクトエクスプローラーで[モジュール]をクリックします。
- マクロコードを含むモジュール名をダブルクリックします。
- モジュールからマクロコードをコピーし、Sub WorkBook_Open()に貼り付けます。
マクロ対応ブックを保存します。 もう一度開きます。 マクロが実行され、レポート構造を持つ新しいワークシートが挿入されます。