マクロという言葉自体はアプリケーションにユーザーの操作を覚えさせてそれを再現させる機能のことです。
エクセルにおけるマクロはVBA(Visual Basic for Application)を利用した、一種のプログラムです。
マクロの記録機能を使うことで、ある程度の簡潔な作業であれば、簡単にユーザーの行った操作を再現することができます。
繰り返し作業を自動化する |
---|
日常業務でエクセルを使用している場合、毎日同じような(あるいはまったく同じ)作業を繰り返していることは多いと思います。エクセルの作業に慣れてくると、同じ作業のためにコマンドを繰り返すのはだんだんもどかしくなってきます。一連の作業をコマンドボタンをクリックひとつで一気に実行できるとすれば、作業のスピードアップにつながります。単なる繰り返し作業は「マクロの記録」で比較的簡単にマクロにすることが出来ます。 |
エクセルのコマンドや関数で出来ないことを実行する |
マクロのコードを自分で書けるようになると、エクセルのコマンドで出来ないような作業も自動化できるようになります。 例えば、 「新規作成したシートの名前を変更するためのインプットボックスを表示する」とか 「シートによってプリンタを自動的に切り替える」とか言う作業です。 |
独自の関数を作成する |
エクセルの関数の組み合わせでは実現不可能な計算ではマクロで独自の関数を作成することも可能です。 引数も任意に設定できるので、関数としての入力は非常に簡単にすることができます。 マクロで作成した関数はエクセル関数と同様に関数入力ボックスから使用することが出来ます。 |
独自のフォームを作成する |
フォームを作成して入力作業を視覚化、効率化することが出来ます。 キーパンチャーにデータ入力を任せる場合などには威力を発揮します。 |
ファイルオープン時にメッセージが表示される |
---|
マクロを含んだブックを開くと、マクロを含んでいる旨のメッセージが毎 回表示されます。セキュリティレベルを「低」に設定すれば表示されなく なりますが、「悪意のあるマクロ」(マクロウィルス)を含んだブックで あっても警告なしで開いてしまうので、お勧めしません。 |
マクロで変更したシートの内容は戻せない |
通常の入力作業であれば「戻る」コマンドである程度元に戻せますが、 マクロで変更した部分は「戻る」コマンドでは元の状態に戻せません。 ですから、マクロを利用する時はもとのデータの扱いに慎重にならなけ ればなりません。 |
再現できないコマンドもある。 |
記録したマクロが本当にユーザーの行ったことを100%再現してくれるかというと、 どうもそうではないらしくて、一部再現できないものもあります。 (作業グループ化した複数シートでの作業はその代表例。 複数シートを選択した状態でセルの削除や挿入を記録してもアクティブシー トへの作業しか再現してくれません。) |
マクロを最も簡単に利用する方法として、「マクロの記録」があります。
エクセルで行っている作業をプログラムとして記録し、記録したマクロを実行することで
作業を再現することが出来ます。
一日に何回も繰り返すような作業をマクロとして記録して登録しておくことで
作業を効率化することができます。
初級 |
---|
繰り返して実行する作業の簡略化には大きなメリットがあります。 複数のコマンドを組み合せなければいけない作業にはなおさらです。 また、実際に行っている作業がほぼそのままコードとして記録されるため、 VBEのステップイン機能を使って一行一行実際の動作と対比しながら操作を再現することが できるので、VBAを学習しはじめの方にもお勧めです。 |
中級以降(自分でコードを組める方) |
コード作成の雛形としてマクロの記録を利用できます。 かなり上級の人でもマクロの記録は利用しているはずです。 膨大な数のキーワードをすべて記憶するのは非常に困難です。 一から入力するよりはマクロの記録で作成可能なものであれば、 そのコードを編集したほうが間違いも少なく、また効率的でもあります。 だから、「手抜き」とは思わずにどんどん利用しましょう。 |
「マクロの記録」ではユーザーの実行する作業がそのまま記録されます。
そのため「マクロの記録」に向いているのは次のような作業です。
・特定のブック、シートへの操作
・セルへの入力内容の繰り返し
・セルの書式設定変更の繰り返し
・特定位置関係にあるセル同士でのセルコピー・貼り付け
ある程度入力内容や操作内容が定型的なものがマクロ記録に向いています。
逆に、その都度セルに入力する数値や数式が変化するような作業は
記録マクロにするには向いていません。
マクロはブックに記録されます。
正確にはマクロを記述するために確保される「モジュール」という部分に記録されます。
つまり、マクロを記録してあるブックが開いていないとマクロは有効になりません。
どのブックにマクロを記録すべきかはどのような作業をするかによります。
マクロを記録する場所に関してはとりあえずどれを選択してもかまいません。
が、それぞれに記録した場合の特徴がありますので、参考にしてください。
個人用マクロブック |
---|
「マクロの記録」の際にはじめて「個人用マクロブック」を選択すると
PERSONAL.XLSというブックを自動的に作成します。次回エクセル起動時に
は非表示のブックとして自動的に開かれるようになります。 「常に使用したいマクロ」 「不特定のブックを対象に使用したいマクロ」 を登録しておくのに向いています。 マクロを含むブックを開く場合にはマクロを含む旨の警告メッセージが表示されますが、 「個人用マクロブック」にマクロを登録した場合はそれが表示されないという特徴があります。 |
作業中のブック |
記録時にアクティブになっているブックが対象になります。 |
新しいブック |
新規ブックを作成してそのブックに記録します。 これを選択した場合は、作業するブックとマクロを記録したブックが別れてしまう ことがあるので注意してください。 |
作業をマクロに記録してみましょう。
まず、「Visual Basic」ツールバーが表示されているか確認してください。※1
1 | 「マクロの記録」ボタンをクリック。 |
---|---|
2 | 表示される「マクロの記録」ダイアログボックスで、マクロを記録するブックを
選択して「OK 」 「記録終了」ツールバーがウィンドウ内に表示されます。 |
3 | 記録する動作を行ってから「記録終了」ツールバー「記録の終了」ボタン |
早速、記録したマクロを実行してみましょう。
ここでは以下の手順でマクロを実行してみましょう。
(記録した作業が再現される様子を確認するため、シート内容をクリアするなどしておくとわかりやすいでしょう。)
1 |
「マクロ」ダイアログボックスを表示 Alt + F8 またはメニューコマンドから ツール(T)→マクロ(M)→マクロ(M) |
---|---|
2 |
マクロの保存先(A)でマクロを記録したブックを指定して マクロ名(M)ボックスで記録したマクロを選択。 |
3 | 実行(R)ボタンをクリックで実行。 |
以下へ、初心者レベルで実行しやすいマクロの実行方法をリストアップしてみます。
ツールバーの「マクロの実行」コマンドで実行 | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
まずは前述の方法で実行することが多いと思います。
|
|||||||||||||||||||||||||||
ショートカットキーで実行 | |||||||||||||||||||||||||||
マクロの記録を行う場合に「マクロの記録」ダイアログボックスで
ショートカットキーを設定できます。 記録後、「Ctrl+(Ctrlキーを押しながら)任意のキー」で実行ができます。 また、記録時に設定しなくても、下記の方法で再設定できます。
ただし、ここで設定するショートカットキーは「Ctrl+(Ctrlキーを押しながら)任意のキー」しか設定できないので、標準でよく使用するショートカットキーとダブってしまうと、もとのキーの機能が使用できなくなってしまいます。 ダブらないようにしないと使い勝手が悪くなることがあるのでこの点は確認しましょう。
|
|||||||||||||||||||||||||||
独自に作成したコマンドボタンから実行 | |||||||||||||||||||||||||||
コマンドボタンをツールバーへ追加してそのボタンから実行することが出来ます。
|
|||||||||||||||||||||||||||
アクセラレーターキー | |||||||||||||||||||||||||||
ツールバーへ追加したユーザー設定ボタンにマクロを登録している場合、
Altキーとキーボードの文字を組み合わせてコマンドを選択することが出
来ます。 使い方はショートカットキーと似ていますが、ツールバーに登録されていないと 使用できないため、区別して「アクセラレーターキー」と呼びます。
前掲のショートカットキーと違って使用できるキーはかなり空いている上に実際に入力 できるキーが マクロ名(D)のように実際に表示されるので、キーを忘れても安心です。 また、ALTキーはいったんはなしても次のキー入力を受け付けてくれます。 |
|||||||||||||||||||||||||||
シートに作成したボタンから実行 | |||||||||||||||||||||||||||
シートに配置したボタンや図形などにマクロを登録することでそれらをク
リックするとマクロを実行するようにすることが出来ます。
シートに配置できてマクロを登録できるものには次のようなものがあります。
|
その他にも次のような実行方法が用意されています。
Visual Basic Editor から実行 |
---|
わざわざ日常の作業の中で毎回VBEからマクロを実行する人もいないと
思いますが、一応できるので書いておきます。 VBEからのマクロの起動は実行そのものを目的とするのではなくて、動 作のチェック(デバッグ)のために行うのが通常です。 |
自動実行マクロ |
ブックを開くと同時にマクロが実行されるように設定することもできます。 |
イベントマクロ |
セル、シート、ブックに特定の操作を実行したときに自動的に実行します。 「コントロールツールバー」から配置した「コントロール」に登録されるのもこのイベントマクロです。 |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||