Excelマクロ-概要

Excelマクロは、記録、名前の付け、保存、および実行を何度でも、いつでも実行できるアクションまたはアクションのセットです。マクロを作成すると、マウスのクリックとキーストロークが記録されます。保存したマクロを実行すると、記録されたマウスクリックとキーストロークが記録されたのと同じ順序で実行されます。

マクロは、頻繁に実行する必要のあるデータ操作やデータレポートに関連する反復タスクの時間を節約するのに役立ちます。

マクロとVBA

マクロは、ExcelコマンドまたはExcelVBAから記録および実行できます。

VBAはVisualBasic for Applicationsの略で、リボンの[開発者]タブから利用できるExcel Visual Basic Editor(VBE)から利用できる単純なプログラミング言語です。マクロを記録すると、ExcelはVBAコードを生成します。マクロを記録して実行するだけの場合は、ExcelVBAを学習する必要はありません。ただし、マクロを変更する場合は、ExcelVBAエディターでVBAコードを変更することによってのみ変更できます。

単純なマクロを記録し、Excelコマンドを使用して実行する方法については、「単純なマクロの作成」の章で学習します。マクロの詳細と、Excel VBAエディターからのマクロの作成および/または変更については、後の章で学習します。

パーソナルマクロワークブック

マクロは、記録した場所と同じブックに保存できます。その場合、そのワークブックからのみマクロを実行できるため、開いたままにしておく必要があります。Excelは、すべてのマクロを保存する別の方法を提供します。これは、マクロを保存できる個人用マクロブックであり、任意のブックからそれらのマクロを実行できます。

パーソナルマクロワークブックについては、「すべてのマクロを1つのワークブックに保存する」の章で学習します。

マクロセキュリティ

マクロはVBAコードとしてExcelに保存されます。他のコードの場合と同様に、マクロコードも、ブックを開いたときに実行される可能性のある悪意のあるコードの影響を受けやすくなっています。これはコンピュータへの脅威です。マイクロソフトは、このようなマクロウイルスからコンピュータを保護するのに役立つマクロセキュリティ機能を提供しました。

これについては、「マクロセキュリティ」の章で詳しく説明します。

絶対参照と相対参照

マクロの記録中に、クリックしているセルの絶対参照または相対参照のいずれかを使用できます。絶対参照により、マクロを記録したのと同じセルでマクロが実行されます。一方、相対参照により、マクロはアクティブセルで実行されます。

これらについては、「マクロの絶対参照の使用」および「マクロの相対参照の使用」の章で学習します。

VBAのマクロコード

Excel VBAを知らなくても、Excelからマクロを記録して実行できます。ただし、記録されたマクロを変更したり、VBAコードを記述してマクロを作成したりする必要がある場合は、ExcelVBAを学習する必要があります。これについては、このチュートリアルライブラリのExcelVBAチュートリアルを参照できます。

ただし、マクロコードの表示方法を知っておく必要があります。ExcelでVBAエディターにアクセスする方法と、VBAエディターのさまざまな部分については「ExcelVBA」の章で学ぶことができます。

Excel VBAエディターでマクロコードを表示する方法を学び、「マクロコードについて」の章でマクロコードを理解することができます。

オブジェクトへのマクロの割り当て

図形、グラフィック、コントロールなどのオブジェクトにマクロを割り当てることができます。次に、そのオブジェクトをクリックしてマクロを実行できます。これについては、「マクロのオブジェクトへの割り当て」の章で学習します。

実行中のマクロ

Excelには、マクロを実行するいくつかの方法があります。マクロの実行方法を選択できます。マクロを実行するこれらのさまざまな可能な方法については、「マクロの実行」の章で学習します。

VBAエディターを使用したマクロの作成

マクロコードを作成する場合は、「VBAエディターを使用したマクロの作成」の章で学習できます。ただし、前提条件は、ExcelVBAの知識が必要であることです。

マクロの編集

ExcelVBAエディターでマクロコードを変更できます。大規模な変更を行う場合は、ExcelVBAの知識が必要です。ただし、コードにわずかな変更を加えるだけの場合、または記録されたマクロから別のマクロにVBAコードをコピーする場合は、「マクロの編集」の章を参照してください。

マクロの名前を変更したり、削除したりすることもできます。これについても同じ章で学びます。

ユーザーフォーム

フォームは通常、必要な情報を収集するために使用されます。タスクを簡単にすることは自明です。Excel VBAエディターから作成されたExcelユーザーフォームも同じ目的を果たし、テキストボックス、チェックボックス、ラジオボタン、リストボックス、コンボボックス、スクロールバーなどの使い慣れたオプションをコントロールとして提供します。

「ユーザーフォーム」の章では、ユーザーフォームの作成方法とさまざまなコントロールの使用方法を学習します。

マクロコードのデバッグ

マクロが期待どおりに実行されない場合があります。マクロを作成したか、誰かから提供されたマクロを使用している可能性があります。他のコードをデバッグするのと同じようにマクロコードをデバッグして、欠陥を発見して修正することができます。これについては、「マクロコードのデバッグ」の章で学習します。

ブックを開いたときに実行するマクロの構成

ブックを開いたときに、マクロを自動的に実行することができます。これを行うには、Auto_Runマクロを作成するか、ブックを開くイベントのVBAコードを記述します。これについては、「ブックを開いたときに実行するマクロの構成」の章で学習します。