VBA(Excel)

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

スポンサーリンク

こんにちは。システム担当の父親、KATSUです。経歴はExcel20年、Access10年程度の社内SEです。ブログは初心者ですので、少しずつ品質の向上に努めていきます。

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

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

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

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

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

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

開発タブの表示

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

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

ファイルタブをクリック

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

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

開発タブが表示

マクロの記録と実行

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

マクロボタンクリック

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

マクロ1ダイアログ

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

下のマクロボタン

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

停止ボタンに変化上
停止ボタンに変化下

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

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

置換ボタンをクリック
置換のオプションをクリック

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

置換の入力

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

置換実行後
ここで、「記録終了」のボタンを押します。

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

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

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

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

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

置換動作2

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

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

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

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

保存の警告表示
ファイル形式をマクロ有効book(.xlsm)にしてください。

保存ダイアログ

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

保存結果

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

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

マクロボタンのクリック

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

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


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

編集で無駄な動きを排除

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

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

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

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

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


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

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

記録するときの注意点

正確なイメージ

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

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

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

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

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

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

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

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

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

まとめ

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

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

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

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

スポンサーリンク

-VBA(Excel)