マクロとは!?Excelで簡単なマクロを作ってみよう

Excel VBA

今回は主に、マクロとはどのようなものかを説明したいと思います。

マクロはmacroではない

まず、最初にお断りしておきます。 英単語におけるmacroと、Officeソフトにおけるマクロは、意味が違います。

  • 英単語のmacro                  → 大きい、長い(Weblio英和辞典から引用)
  • Officeソフトのマクロ       → ソフト内の自動化機能

このように別の意味として使われています。 これも話がややこしくなってしまう原因のひとつですね。 

マクロの記録

マクロの記録機能を使ってみよう

マクロという単語は自動化機能そのものを指します。 いちいち手動でやっていると面倒で時間がかかることを、自動化させて手間を省くためのものですね。 プログラム以外にも、Excelが元から持っているマクロ機能もあります。 「マクロの記録」という機能ですね。 ではまず、その機能から試してみたいと思います。

最初に、新規のブックを用意してください。

まず、開発タブをクリックしたいのですが、デフォルトでは開発タブがないため、開発タブを表示させます。

スクリーンショットの画面

自動的に生成された説明

上部メニューの一番左にある「ファイル」を押すと、この画面が表示されます。 次に、一番下にあるオプションを押します。

パソコンの画面

自動的に生成された説明

するとオプション設定ウインドウが出てきます。 左側にあるタブで、「リボンのユーザー設定」を押しますと、上の画像の画面に切り替わります。 この中で「開発」にチェックがついていればOKです。 ついていなければチェックを入れて、OKボタンを押して下さい。

コンピューターのスクリーンショット

自動的に生成された説明

すると上部メニューに開発タブが表示されます。 開発タブを押すとリボンが切り替わりますので、赤丸の所にある「マクロの記録」を押してみましょう。 押すと上の画像のように小さなウインドウが出てきます。 マクロ名はさしあたってデフォルトのままで構いません。 そのままOKボタンを押します。

スクリーンショット, 抽象 が含まれている画像

自動的に生成された説明

ただウインドウが消えたように見えますが、赤丸の箇所を見て下さい。 表示が変わっていますね。 この表示が出ていれば記録中ということになります。 それでは簡単な操作をしてみましょう。

抽象, スクリーンショット が含まれている画像

自動的に生成された説明

試しとして、色々と散らかしています。 どんなものでもいいので、文字を書いたりセルの背景色を変えたりしてみましょう。 一通り終わったら、上部メニューで開発タブから記録終了を押します。 これであなたが記録中にしたことがマクロ化されています。 それでは新しいシートを作成してください。 

コンピューターのスクリーンショット

自動的に生成された説明

新しいシートを選択してから、上の赤丸箇所にあるマクロボタンを押して下さい。 すると画像のようなウインドウが表示されます。 それでは実行ボタンを押してみましょう。

このように、シート1と全く同じ状態になりました。 これだけですと、シートのコピーと同じですね。 それでは今度はこのシート2に、もう一度手を加えてみましょう。

このように手を加えてみました。 セルのテキストを変更し、中心部を水色に塗りつぶし、下部の青丸は右に移動させています。 皆さんも分かりやすいように大きく手を加えてみてください。 そして手を加えたら、もう一度先程のマクロを実行してみましょう。

こうなります。 先程変更したセルのテキストは上書きされ、背景色を変えた箇所は部分的に色が変わり、青丸はもう1つ増えています。 このようにマクロは記録した手順を、実行する度に繰り返します。

・マクロは指定の手順をするだけ

今回は記録したマクロでしたが、プログラムで作るマクロも同じです。 指定された手順をただ高速で繰り返すだけ、ということですね。 今回は、筆者が作成したマクロの内訳を箇条書きにしてみます。

  • B2のセルに「test」の文字を入力する
  • E2のセルに「テスト」の文字を入力する
  • B6のセルの背景色を黄色にする
  • E8のセルの背景色を黒にする
  • B12のあたりに青い丸の図形を生成する

これが内訳ですね。 今回作成したマクロを実行する度に、上記のことを全て行います。 

今回のまとめ

  • 英単語のmacroとOfficeソフトのマクロは別物
  • マクロの記録機能でもマクロは作れる
  • マクロは決まった手順を高速で行う

マクロを使うことで便利なケースもありますし、問題になるケースもあります。

そのことを次回は掘り下げていきたいと思います。

コメント

タイトルとURLをコピーしました