Excelでマクロを実行するにはどうすればよいですか?
Visual Basic for Applications (VBA) は、Microsoft Excel のほか、Word や Access などの他の Microsoft Office アプリケーションに統合されているプログラミング言語です。 Excel の VBA コードは、次のような理由から重要です。
Excel における VBA コードの重要性
反復的なタスクの自動化
VBA を使用すると、ユーザーは Excel での反復的で時間のかかるタスクを自動化できます。これには、データ操作、書式設定、レポート生成から複雑な計算まで、あらゆるものが含まれます。 VBA コードを記述することで、ボタンをクリックするだけでこれらのタスクを実行するマクロを作成できます。
改善された機能:
VBA を使用すると、ユーザーは Excel の機能を組み込み機能を超えて拡張できます。カスタム関数、ユーザー フォーム、ダイアログ ボックスを作成して、ユーザーと対話し、よりユーザー フレンドリーなエクスペリエンスを提供できます。
データ分析とレポート:
VBA を使用すると、高度なデータ分析およびレポート ツールを開発できます。これには、データのインポート、クリーニング、処理のプロセスの自動化だけでなく、包括的なレポートやダッシュボードの生成も含まれます。
他のアプリケーションとの統合:
VBA を使用すると、Excel と他の Microsoft Office アプリケーションの間だけでなく、外部アプリケーションとの統合も容易になります。これは、異なるソフトウェア ツール間でデータを転送する必要がある場合や、複数のアプリケーションが関与する自動化プロセスが必要な場合に特に便利です。
エラー処理とデバッグ:
VBA は堅牢なエラー処理機能を備えているため、エラーを適切に処理し、意味のあるエラー メッセージを提供するコードを作成できます。これにより、コードのトラブルシューティングとデバッグが容易になります。
そして、VBA を使用すると多くのことができます。初心者にとって VBA コードを書くのは少し難しいかもしれませんが、その方法は次のとおりです。
1. リストからマクロを実行します
[開発] タブから、ワークブックまたは PERSONAL.XLSB にあるマクロのリストにアクセスできます。 Excel でマクロを実行するには、次の手順に従います。
- 「開発」タブのマクロボタンをクリックし、マクロ一覧を開きます。
- このマクロ リストには、個人用マクロ ワークブックを含む、開いているワークブックにあるすべてのマクロが表示されます。
- 実行したいマクロを選択し、「実行」ボタンをクリックするだけです。
[実行] ボタンをクリックすると、マクロが実行され、ダイアログ ボックスが閉じます。
2. ショートカットキーでマクロを実行する
キーボードのショートカット キーを使用してマクロを実行することもできます。通常、マクロを記録すると、そのマクロの実行に使用できるショートカット キーを定義するように求められます。
また、マクロを作成すると、マクロ一覧からショートカットキーを設定することができます。
- ショートカット キーを設定するマクロの名前を選択し、オプションをクリックします。
- その後、入力ボックス内をクリックし、設定したいショートカットキーを押します。
3. クイック アクセス ツールバーにマクロ ボタンを追加します。
クイック アクセス ツールバーにボタンを追加してマクロを実行することもできます。以下の手順を使用できます。
- まず、クイック アクセス ツールバーにある小さなドロップダウン リストをクリックしてさらにコマンドを選択すると、クイック アクセス ツールバーをカスタマイズするための実際のオプションが表示されます。
- ここで、Truth コマンド マクロを選択し、追加したいマクロを選択します。その後、[追加] ボタンをクリックすると、そのマクロが追加され、クイック アクセス ツールバーが作成されます。
- 最後に、「OK」をクリックします。
追加したマクロのボタンが表示されます。
4. 図形にマクロを追加する
仕事で頻繁に使用する必要がある VBA コードがあるとします。この状況では、ボタンを作成し、それにこのマクロを割り当てることができます。
- まず、「挿入」タブ➜「イラスト」➜「図形」から簡単な図形を挿入します。ボタンとして使用する図形の 1 つを選択します。
- その後、この図形を右クリックして「マクロの割り当て」を選択します。
- 次に、マクロ リストから、図形に割り当てるマクロを選択します。
これで、この図形をクリックするたびに、割り当てたマクロが実行されます。
5. フォームコントロールボタンにマクロを割り当てる
図形を使用する以外に、コントロール ボタンを使用してマクロを実行することもできます。
- まず、「開発」タブと「コントロール」グループに移動し、「挿入」をクリックします。そして、挿入ドロップダウン ボックスで、ボタンをクリックして挿入します。
- その後、マクロのリストが表示され、そこからマクロを選択できます。
- マクロを選択して「OK」をクリックすると、スプレッドシートにボタンが表示されます (ボタンのテキストを変更してわかりやすい名前を付けることができます)。
6. ワークブックを開いて閉じる
ブックを開いたり閉じたりするときに実行するマクロを作成することもできます。これは、ブックを開いたり閉じたりすると、割り当てたマクロが実行されることを意味します。これを行うには、「auto_open」と「auto_close」を使用する必要があります。
ブックを開いたときに実行するマクロを割り当てたいとします。このマクロの名前として auto_open を使用する必要があります。
Sub auto_open() Range("A1").Value = Now End Sub
これで、ブックを開いて現在の日付を入力し、アクティブ シートのセル A1 を入力すると、このマイクロが実行されます。
同様に、ブックを閉じるときに「auto_close」を使用してこのマクロを作成することもできます。
7. ワークシートのアクティブ化と非アクティブ化
ワークブックと同様に、ワークシートのアクティブ化および非アクティブ化時にマクロを実行することもできます。この場合、このマクロをこのワークシートのコード ウィンドウに追加する必要があります。
- まず、スプレッドシートのタブを右クリックし、「コードの表示」をクリックします。
- コード ウィンドウで、左側のドロップダウン メニューからワークシートを選択します。非アクティブ化したいとき; 「Worksheet_Deactivate」という名前の新しいサブルーチンを取得します。
- ここで、ワークシートを無効にしたときに実行するコードをこのプロシージャに追加する必要があります。
Private Sub Worksheet_Deactivate() Range(“A1”).Value = Now End Sub
また、ワークシートをアクティブにするときにマクロを実行する場合は、ドロップダウン リストから無効にする代わりに有効を選択します。
Private Sub Worksheet_Activate() Range(“A1”).Value = Now End Sub
8. ワークシート内の変更に対してマクロを実行する
ワークシートに変更を加えるときにマクロを実行することもできます。たとえば、セルに値を入力するとき、またはセルから値を削除するときです。
これを行うには、もう一度スプレッドシートのコード ウィンドウにプロパティを入力し、ドロップダウン リストから [選択範囲の編集] を選択する必要があります。
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range(“A1”).Value = “Last Updated: ” & Format(Now, “dd-mmm-yy hh:mm:ss Am/pm”) End Sub
9. 別の手順で
call ステートメントを使用して、別のプロシージャからマクロを実行できます。キーワード「Call」を使用してからマクロの名前を使用します。
Sub myStrikeThrough() If Selection.Value = “Yes” Then Selection.Value = “No” Else Selection.Value = “Yes” End If End Sub Sub markDone() Call myStrikeThrough Selection.Font.Bold = True End Sub
「markDone」マクロを実行すると、最初に「mystrikethrough」マクロが実行され、次に選択したフォントが太字になります。
10. マクロをスケジュールする
特定の時間にマクロを実行するようにスケジュールを設定することもできます。朝 8:30 にマクロを実行したいとします。時間を指定すると、それが実行されます。
これを行うには、Application.OnTime メソッドを使用する必要があります。マクロ「myCode」があるとします。以下のようなコードを記述して、8:30 に実行できます。
Application.OnTime TimeValue("08:30:00"), "myCode"