マクロを実行する

Microsoft Excel でマクロを実行するには、いくつかの方法があります。マクロとは、作業を自動化するために使用できる 1 つまたは複数のアクションです。マクロは、Visual Basic for Applications プログラミング言語で記録されます。リボンの [開発] タブの [コード] にある [マクロ] コマンドをクリックすることにより、マクロをいつでも実行できます。割り当てられたマクロの実行方法に応じて、Ctrl キーを使用するショートカット キー (ショートカット キー: メニュー コマンドの実行に使用する F5 または Ctrl + A などのファンクション キーまたはキーの組み合わせのこと。メニュー、コマンド、またはコントロールのフォーカスを移動するアクセス キー (Alt + F などのキーの組み合わせ) とは異なります。)を押したり、クリック アクセス ツールバーまたはリボンのカスタム グループにあるボタンやオブジェクト、グラフィック、またはコントロールの領域をクリックしたりすることによってマクロを実行することもできます。さらに、ブックを開いたときにマクロを自動的に実行することもできます。

メモ    Excel でマクロのセキュリティ レベルを [警告を表示せずにすべてのマクロを無効にする] に設定した場合、Excel で実行できるのはデジタル署名されたマクロ、または信頼できる場所 (コンピューター上にある Excel のスタートアップ フォルダーなど) に保存されているマクロだけです。実行するマクロがデジタル署名 (デジタル署名: 安全性を高めるためにマクロまたは文書の認証に使用する、電子的に暗号化された署名。デジタル署名によって、マクロまたは文書が署名した本人のものであること、および改ざんされていないことが証明されます。)されておらず、信頼できる場所 (信頼できる場所: コードを実行するのに安全なコンピューター上のフォルダーやファイルのパス、またはイントラネット上の場所。既定の信頼できる場所には、テンプレート、アドイン、スタートアップ フォルダーなどがあります。また、独自の信頼できる場所も指定できます。)に保存されていない場合、セキュリティ レベルを一時的に変更してすべてのマクロを有効にすることができます。

目的に合ったトピックをクリックしてください


マクロを実行する

  1. [開発] タブが表示されていない場合は、次の操作を行って表示します。
    1. [ファイル] タブをクリックし、[オプション] をクリックして、[リボンのユーザー設定] カテゴリをクリックします。
    2. [メイン タブ] の一覧で、[開発] チェック ボックスをオンにし、[OK] をクリックします。
  2. セキュリティ レベルを一時的に変更してすべてのマクロを有効にするには、次の操作を行います。
  1. [開発] タブの [コード] で、[マクロのセキュリティ] をクリックします。

[開発] タブの [コード]

  1. [マクロの設定] カテゴリの [マクロの設定] で、[すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] をクリックし、[OK] をクリックします。

メモ    危険なコードが実行される可能性を低くするため、マクロの使用が完了したら、すべてのマクロを無効にするいずれかの設定に戻すことをお勧めします。

  1. マクロを含むブックを開きます。
  2. [開発] タブの [コード] で、[マクロ] をクリックします。[開発] タブの [コード]
  3. [マクロ名] ボックスで、実行するマクロをクリックします。
  4. 次のいずれかの操作を行います。
  • Excel ブックでマクロを実行するには、[実行] をクリックします。

ヒント    Ctrl キーを押しながら F8 キーを押して、マクロを実行することもできます。Esc キーを押すと、マクロの実行を中断できます。

ページの先頭へ ページの先頭へ

Ctrl キーを使用するショートカット キーを押してマクロを実行する

  1. [開発] タブが表示されていない場合は、次の操作を行って表示します。
    1. [ファイル] タブをクリックし、[オプション] をクリックして、[リボンのユーザー設定] カテゴリをクリックします。
    2. [メイン タブ] の一覧で、[開発] チェック ボックスをオンにし、[OK] をクリックします。
  2. [開発] タブの [コード] で、[マクロ] をクリックします。[開発] タブの [コード]
  3. [マクロ名] ボックスで、Ctrl キーを使用するショートカット キーを割り当てるマクロをクリックします。
  4. [オプション] をクリックします。

[マクロ オプション] ダイアログ ボックスが表示されます。

  1. [ショートカット キー] ボックスに、Ctrl キーと組み合わせて使用する小文字または大文字のアルファベットを入力します。

メモ    ショートカット キーを登録したマクロを含むブックが開いている間は、対応する Excel の既定のショートカット キーが無効になります。

Excel に割り当て済みの Ctrl キーを使用したショートカット キーの一覧については、「Excel のショートカット キーとファンクション キーについて」を参照してください。

  1. [説明] ボックスにマクロの説明を入力します。
  2. [OK ] をクリックして変更内容を保存し、[キャンセル] をクリックして [マクロ] ダイアログ ボックスを閉じます。

ページの先頭へ ページの先頭へ

クイック アクセス ツールバーのボタンをクリックしてマクロを実行する

クイック アクセス ツールバーにマクロを実行するボタンを追加するには、次の操作を行います。

  1. [ファイル] タブの [オプション] をクリックし、[クイック アクセス ツール バー] をクリックします。
  2. [コマンドの選択] ボックスの一覧の [マクロ] をクリックします。
  3. 一覧で、作成したマクロをクリックし、[追加] をクリックします。
  4. マクロのボタン イメージを変更するには、マクロが追加されたボックスでマクロをクリックし、[変更] をクリックします。
  5. [アイコン] で、使用するボタン イメージをクリックします。
  6. ボタンの上にポインターを置いたときに表示されるマクロの名前を変更するには、使用する名前を [表示名] ボックスに入力します。
  7. [OK] をクリックすると、クイック アクセス ツールバーにマクロ ボタンが追加されます。
  8. クイック アクセス ツール バーで、追加したマクロ ボタンをクリックします。

ページの先頭へ ページの先頭へ

リボンのカスタム グループのボタンをクリックしてマクロを実行する

Excel 2010 のリボンはカスタマイズできるため、リボンのタブに表示されるカスタム グループを作成して、そのグループのボタンにマクロを割り当てることができます。たとえば、[開発] タブに "My Macros" という名前のカスタム グループを追加し、その新しいグループにマクロ (ボタンとして表示される) を追加できます。

詳細については、「リボンをカスタマイズする」を参照してください。

ページの先頭へ ページの先頭へ

グラフィック オブジェクトの領域をクリックしてマクロを実行する

ユーザーがクリックしてマクロを実行できるホット スポットをグラフィックに作成できます。

  1. ワークシートに、図、クリップ アート、図形、SmartArt などのグラフィック オブジェクトを挿入します。

グラフィック オブジェクトの挿入方法については、「図形を追加、変更、削除する」を参照してください。

  1. 既存のオブジェクトにホット スポットを作成するには、[挿入] タブの [] で [図形] をクリックして使用する図形を選択し、その図形を既存のオブジェクトに描画します。

[挿入] タブの [図]

  1. 作成したホット スポットを右クリックし、[マクロの登録] をクリックします。
  2. 次のいずれかの操作を行います。
    • グラフィック オブジェクトに既存のマクロを登録するには、マクロ名をダブルクリックするか、[マクロ名] ボックスにマクロ名を入力します。
    • 選択したグラフィック オブジェクトに割り当てる新しいマクロを記録するには、[記録] をクリックし、[マクロの​​記録] ダイアログ ボックスでマクロの名前を入力し、[OK] をクリックしてマクロの記録を開始します。マクロの記録が終わったら、[開発] タブの [コード] で、ボタン イメージ (記録終了) をクリックします。

ヒント    ステータス バーの左側の ボタン イメージ (マクロ記録終了) をクリックすることもできます。

  • 既存のマクロを編集するには、[マクロ名] ボックスでマクロ名をクリックし、[編集] をクリックします。
  1. [OK] をクリックします。
  2. ワークシートでホット スポットを選択します。これにより、[描画ツール] が表示され、[書式] タブが追加されます。
  3. [書式] タブの [図形のスタイル] で、[図形の塗りつぶし] の横にある矢印をクリックし、[塗りつぶしなし] をクリックします。

[描画ツール] の [書式] タブの [図形のスタイル]

  1. [図形の枠線] の横の矢印をクリックし、[線なし] をクリックします。

ページの先頭へ ページの先頭へ

ブックを開くときに自動的に実行されるようにマクロを構成する

マクロを記録して "Auto_Open" という名前で保存した場合、このマクロが含まれているブックを開くたびに、このマクロが実行されます。ブックを開いたときに自動的にマクロを実行するには、Visual Basic Editor (Visual Basic Editor: Visual Basic for Applications のコードやプロシージャを作成および編集するための環境。Visual Basic Editor には、コードの構文、実行、および論理に関する問題を見つけるためのデバッグ ツールセットが用意されています。) を使用して、VBA プロシージャをブックの Open イベント内に記述するという方法もあります。Open イベントは組み込みのブック イベントで、ブックを開くたびにマクロ コードを実行します。

Auto_Open マクロを作成する

  1. [開発] タブが表示されていない場合は、次の操作を行って表示します。
    1. [ファイル] タブをクリックし、[オプション] をクリックします。
    2. [リボンのユーザー設定] カテゴリの [メイン タブ] の一覧で、[開発] チェック ボックスをオンにし、[OK] をクリックします。
  2. セキュリティ レベルを一時的に変更してすべてのマクロを有効にするには、次の操作を行います。
  1. [開発] タブの [コード] で、[マクロのセキュリティ] をクリックします。[開発] タブの [コード]
  2. [マクロの設定] カテゴリの [マクロの設定] で、[すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] をクリックし、[OK] をクリックします。

メモ    危険なコードが実行される可能性を低くするため、マクロの使用が完了したら、すべてのマクロを無効にするいずれかの設定に戻すことをお勧めします。

  1. 特定のブックにマクロを保存するには、まず目的のブックを開きます。
  2. [開発] タブの [コード] で、[マクロの記録] をクリックします。
  3. [マクロ名] ボックスに「Auto_Open」と入力します。
  4. [マクロの保存先] ボックスの一覧で、マクロを保存するブックを選択します。

ヒント    マクロを、Excel を使用する際に常に使用できるようにするには、[個人用マクロ ブック] をクリックします。[個人用マクロ ブック] をクリックした場合、隠し個人用マクロ ブック (Personal.xlsb) が作成され (該当する既存のブックが存在しない場合)、このブックにマクロが保存されます。Windows Vista の場合、このブックは C:¥Users¥<ユーザー名>¥AppData¥Local¥Microsoft¥Excel¥XLStart フォルダーに保存されます。そこにファイルがない場合は、Local ではなく、Roaming サブフォルダーに保存された可能性があります。Microsoft Windows XP では、このブックは C:¥Documents and Settings¥<ユーザー名>¥Application Data¥Microsoft¥Excel¥XLStart フォルダーに保存されます。XLStart フォルダーのブックは、Excel の起動時に自動的に開きます。個人用マクロ ブックのマクロが別のブックで自動的に実行されるようにするには、そのブックも XLStart フォルダーに保存して、Excel の起動時に両方のブックが開くようにする必要があります。

  1. [OK] をクリックして、記録する操作を実行します。
  2. [開発] タブの [コード] で ボタン イメージ (記録終了) をクリックします。

ヒント    ステータス バーの左側の [記録終了] をクリックして、記録を停止することもできます。

ステータス バーの [記録終了] ボタン

メモ    

  • 手順 6. で、マクロの保存先として [作業中のブック] または [新しいブック] を選択した場合は、マクロを保存したブックを適切な XLStart フォルダーに必ず保存または移動してください。
  • Auto_Open マクロを記録する際には、次のような制限事項があります。
    • Auto_Open マクロを保存したブックに、既に Open イベントの VBA プロシージャが含まれている場合、Open イベントの VBA プロシージャは Auto_Open マクロのすべてのアクションを無視します。
    • Auto_Open マクロは、ブックが Open メソッドによってプログラムから開かれた場合は無視されます。
    • Auto_Open マクロは、他のブックが開く前に実行されます。したがって、初期設定の Book1 のブックまたは XLStart フォルダーから読み込んだブック上で実行するアクションを Auto_Open マクロに記録すると、Excel を再起動したときに Auto_Open マクロは失敗します。これは、Auto_Open マクロは、初期設定およびスタートアップ ブックが開く前に実行されるためです。

これらの制限に抵触する場合は、Auto_Open マクロを記録するのではなく、Open イベントの VBA プロシージャを作成してください。この方法については、この記事の次の項で説明します。

  • Excel の起動時に Auto_Open マクロを実行しないようにする場合は、Shift キーを押しながら Excel を起動します。

ブックの Open イベントの VBA プロシージャを作成する

次の例では、ブックを開いたときに Open を使用してマクロを実行します。

  1. [開発] タブが表示されていない場合は、次の操作を行って表示します。
    1. [ファイル] タブをクリックし、[オプション] をクリックします。
    2. [リボンのユーザー設定] カテゴリの [メイン タブ] の一覧で、[開発] チェック ボックスをオンにし、[OK] をクリックします。
  2. セキュリティ レベルを一時的に変更してすべてのマクロを有効にするには、次の操作を行います。
  1. [開発] タブの [コード] で、[マクロのセキュリティ] をクリックします。[開発] タブの [コード]
  2. [マクロの設定] カテゴリの [マクロの設定] で、[すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] をクリックし、[OK] をクリックします。

メモ    危険なコードが実行される可能性を低くするため、マクロの使用が完了したら、すべてのマクロを無効にするいずれかの設定に戻すことをお勧めします。

  1. すべての開いているブックを保存して閉じます。
  2. マクロを追加するブックを開くか、新規のブックを作成します。
  3. [開発] タブの [コード] で、[Visual Basic] をクリックします。
  4. プロジェクト エクスプローラー ウィンドウで、ThisWorkbook オブジェクトを右クリックし、[コードの表示] をクリックします。

ヒント    プロジェクト エクスプローラー ウィンドウが表示されない場合は、[表示] メニューの [プロジェクト エクスプローラー] をクリックします。

  1. コード ウィンドウの上部の [オブジェクト] ボックスの一覧で、[ブック] を選択します。

これにより、次のような Open イベントの空白のプロシージャが作成されます。

Private Sub Workbook_Open()

End Sub
  1. このプロシージャに、次の行を追加します。
Private Sub Workbook_Open()
    MsgBox Date
    Worksheets("Sheet1").Range("A1").Value = Date
End Sub
  1. Excel に戻り、ブックをマクロ有効ブック (.xlsm) として保存します。
  2. ブックを閉じてから、再度開きます。ファイルを再度開くと、Excel は Workbook_Open プロシージャを実行し、メッセージ ボックスに今日の日付が表示されます。
  3. メッセージ ボックスの [OK] をクリックします。

Workbook_Open プロシージャを実行することにより、Sheet1 のセル A1 にも日付が挿入されます。

ページの先頭へ ページの先頭へ

 
 
適用対象:
Excel 2010