ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

【VBA超入門】Excelでマクロ記録を使う

『エクセルのマクロ機能はとても便利だっていう話はよく聞くけど、どのようにしたらいいのかな?周りにできる人もいないし、本を読んでもよく分からないし。』

こういった疑問に、ここでは出来るだけ分かりやすくお答えします。

また、初心者の方がどうやってエクセルのマクロをマスターしていったら良いか、段階的に述べていきたいと思います。

エクセルのマクロをマスターするためのステップは以下のとおりになります。

  • マクロの記録と再生が出来る
  • マクロで不要なコードの削除が出来る
  • Visual Basic Editer(VBE)に新しいコードを追加できる
  • 動作を検索するためだけにマクロの記録を使う

以上の流れを意識しながら学習すれば、目標が見えやすく、学習を継続しやすいです。

開発タブの表示

まずは、リボンの開発タブを表示しましょう。

ファイルタブのオプションを選択してください。

リボンのユーザー設定をクリックし、開発タブにチェックを入れます。

エクセルの初期設定では開発タブが表示されていませんので、表示する必要があります。

マクロの記録と実行

ここで、P1からP10までの文字列がありますが、PをSに置換するためのマクロを作ってみましょう。開発タブのマクロの記録ボタンをクリックしましょう。

「マクロの記録」のダイアログが表示されます。OKボタンをクリックすると、ダイアログが閉じて記録が始まります。

エクセルウィンドウの下にもボタンがありますが、リボンの記録ボタンと同じ動作をします。

マクロの記録が開始されると、記録ボタンが録画停止ボタンに変わります。マクロを停止したい時はこのボタンを押します。

ホームタブの「検索と置換」ボタンをクリックすると、ダイアログが表示されます。

オプションをクリックします。

検索する文字列にP、置換する文字列にSを入力します。

「すべて置換」ボタンを押すとPがSに変わります。

ここで、「記録終了」のボタンを押します。

この動作はMacro1として記録されます。

ここで、記録したマクロがどのようになっているか確認してみます。

リボンに「Visual Basic」と表示されているので、クリックします。

Visual Basic Editer(VBE)が起動し、標準モジュール→Module1をクリックすると、Macro1のプログラムコードを確認することが出来ます。

もう一度同じ方法でマクロの記録を行い、SをPに置換します。

この動作はMacro2として記録されます。

VBEを起動すると、Module1にMacro2のプログラムコードを確認出来ます。

マクロを登録したブックを保存するためには、「マクロ有効ブック」で保存しなければなりません。

上書き保存ボタンを押すと、ダイアログが表示されますので、いいえをクリックします。

ファイル形式をマクロ有効book(.xlsm)にしてください。

拡張子xlsmのエクセルファイルが保存されました。

では、ここで記録したマクロを実行してみましょう。

開発タブのマクロの実行をクリックしましょう。

マクロを選択するダイアログが表示されるので、Macro1を選択して実行ボタンをクリックしてください。PがSに置換されます。

同じようにしてMacro2を実行するとSがPに置換されます。


今回は置換の動作をマクロで実行してみましたが、エクセルのマクロは複数の動作も登録できます。

編集で無駄な動きを排除

記録させる動作が増えてくると、スクロールなどの無駄な動きも記録されるために、プログラムコードで不要な部分を削除する必要がでてきます。

下のコードはスクロールやセルの選択など、無駄なコードがマクロによって記録された状態です。

VBEではプログラムコードの編集を行う事が出来ます。

そのまま不要なコードを削除してもいいのですが、消したいコードの前にシングルクォーテーション(’)を入力すると、コメント化して無効化することが出来ます。

コードのフォントは緑色になるので、分かりやすいと思います。

コメント化して動作の確認の後に、問題なければ消す、という流れです。

正しいコードを間違えて消した、ということにならないように一度コメント化することをおすすめします。

記録するときの注意点

エクセルにどんな動作をさせるのかしっかり想像しながら、無駄な動作をせずに記録していくよう配慮しましょう。

マクロで無駄な動きをたくさん記録したとしても、削除しなければならないコードが増えていきます。

無駄の少ない操作でマクロを記録できれば、少ない手直しでマクロを使える状態になります。

また、コンピュータの動きを想像できるということは、今後vbaプログラミングを行う時にも、役に立ちます。

コンピューターは、人よりも早く計算ができるだけで、手順は人が行うものと変わらない、と感じることが出来れば、プログラミングもより身近なものに感じられるのではないでしょうか?

次のステップはVBAプログラミング

マクロでの記録と実行、簡単な編集を出来れば、次に目指すべきものはVBAプログラミングです。

直接エディター(VBE)にコードを書き込むようになっても、マクロでエクセルの動作を調べて活用することを行います。

エクセルのマクロは初心者から上級者までの広い範囲の方々にとって使える機能であると言えます。

まとめ

エクセルのマクロを使えることで、作業効率が数倍に向上します。

VBAプログラミングをマスターすれば数十倍か更にそれ以上を見込めます。

職場にもメリットはありますし、マクロやVBAプログラミングを出来る方にもそれ以上のメリットがあると思いますので、興味のある方は、まずはエクセルのマクロを習得しましょう。

本日もありがとうございました。