Excel-macros-excel-configuring-macro

提供:Dev Guides
移動先:案内検索

Excelマクロ-マクロの構成

マクロを記録し、Auto_Openという名前で保存して、このマクロを含むブックを開くたびに実行できます。

ブックのOpenイベントを使用して、同じ目的でVBAコードを作成することもできます。 Openイベントは、ブックを開くたびにサブプロシージャWorkbook_Open()のコードを実行します。

Auto_Openマクロの記録

次のようにAuto_Runマクロを記録することができます-

  • リボンの[表示]タブをクリックします。
  • マクロをクリックします。
  • [マクロの記録]をクリックします。 [マクロの記録]ダイアログボックスが表示されます。
  • マクロ名にAuto_Runと入力します。
  • 説明を入力して[OK]をクリックします。

Auto_open

  • マクロの記録を開始します。
  • 記録を停止します。
  • ワークブックをマクロ対応ワークブックとして保存します。
  • ブックを閉じます。
  • ブックを開きます。 マクロ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()が表示されます。

Workbook_open

  • プロジェクトエクスプローラーで[モジュール]をクリックします。
  • マクロコードを含むモジュール名をダブルクリックします。
  • モジュールからマクロコードをコピーし、Sub WorkBook_Open()に貼り付けます。

Sub Workbook_open

マクロ対応ブックを保存します。 もう一度開きます。 マクロが実行され、レポート構造を持つ新しいワークシートが挿入されます。