エクセルマクロを使い始めた人にとって、「コードを書くのが苦手」「マクロ編集の画面が分かりづらい」と感じている人は少なくありません。
このような苦手意識のせいでマクロを触る機会が減ってしまうと、なかなか上達しません。
しかしマクロの正しい使い方を知らないせいで、時間がかかっている場合があります。
たとえばマクロが上達する人ほどコードをすべて書きません。補助機能を利用してマクロを書く時間を減らしています。
このようなテクニックを実践しているからこそ、比較的早くマクロを仕上げます。
このページではエクセルマクロVBAを時間をかけずに効率的に使いこなすコツを紹介します。
目次
エクセルマクロVBAの操作速度上げる理由
マクロを作成するとき、多くの方は、プログラムを書くための知識をつけることに集中しています。プログラムとは、以下の画像のようなマクロのコードのことです。
しかし、最初にやるべきはマクロを作成するための「操作速度をあげること」です。
なぜなら作成スピードが速くなると、マクロの上達速度も上がるからです。
たとえば一つのマクロを作成するのに15分かかる人と、5分かかる人では、作成速度が3倍違います。
つまりプログラムの勉強速度も、最大で3倍変わってしまいます。
プログラムは勉強するほど、上達していくものなので、作成速度が勉強速度に大きく影響を与えてしまうのです。
それを避けるには、操作速度をあげるテクニックを理解することです。
テクニックを実践することで、プログラムの作成速度が格段に上がります。
エクセルマクロVBAの作成速度上げるテクニック
2. マクロを書かない
3. 小文字で書く
4. メンバー表示の機能を活用する
以下で説明します。
テクニック1|ショートカットキーを使う
エクセルマクロを効率的に使いこなす人は、ショートカットキーを身につけています。なぜならショートカットキーを使えば、マクロの作成速度が3倍変わるからです。
たとえば、エクセルマクロ初心者は、エクセル画面からマクロ編集画面に移動するとき、マウスをクリックします。しかし、エクセルマクロ上級者は、[Alt] + [F11]のショートカットキーを使います。
なぜならマウスを使うと、プログラム作成に集中できないからです。
エクセル画面からマクロ編集画面に移動するとき、いちいちマウスでクリックしていたら、その度にキーボードから手をはなさないといけません。
[Alt] + [F11]のショートカットキーを実践するだけでも、プログラム作成がグッと早くなります。
マクロ作成で使うショートカットキーは、以下の7つを覚えると役立ちします。
・重要度:中 ☆☆
・重要度:小 ☆
以下でショートカットキーの一覧を紹介します。
ショートカットキー | 重要度 | 機能 |
---|---|---|
Alt + F11 | ☆☆☆ | エクセル画面とマクロ編集画面を切り替える |
Tab/Shift Tab | ☆☆☆ | Tab:インデントを右に1つ動かす Shift Tab:インデントを左に1つ動かす |
F8 | ☆☆☆ | ステップイン:プログラムを動作確認するときに一行ずつチェックする |
F5 | ☆☆ | マクロの実行:マクロを最後まで一気に動かす |
Home/End | ☆☆ | Home:選択している行の先頭にカーソルを移動 End:選択している行の最後にカーソルを移動 |
Ctrl + R | ☆ | プロジェクトウィンドウにカーソルを移動する |
F7 | ☆ | コードウィンドウにカーソルを移動する |
この7つを知っておけば、マクロ作りがかなり早くなるはずです。
パソコンの横にポストイットで貼っておくのもアリです。
テクニック2|マクロを書かない
操作速度をもっとも上げるワザは。マクロを書かないことです。
これまでのプログラムを再利用するのが、コスパが良いです。
当然、コピペだけでマクロ作成できるわけではありません。
基本部分をコピペ後は、プログラムの微調整をするために手書きで修正をいれます。
そのため作成速度を高めるテクニックは、マクロを書かないことです。
自分の作ったマクロの資産を使いまわせるように保管したファイルの場所を覚えておきましょう。
テクニック3|小文字で書く
1 |
Range(A1).Value = 5 |
このプログラムを作るとき、Range(“A1”).Value = 5 とそのまま書こうとする人がいます。
しかしプログラムはすべて小文字で書くほうがメリットがあります。
なぜなら、スペルミスや誤記によるエラーを減らせるからです。
たとえば、マクロを書くとき、以下のようにスペルを間違えてしまうことがあります。
Ranjeのjが誤記なので、エラーの原因になります。
しかし、すべて小文字で range(“A1”).value=5 と書いてEnterを押します。
そうするとRange(“A1”).Value = 5 となり、マクロの補助機能が自動で先頭を大文字にしてくれるのです。
この機能を利用すれば、スペルミスや誤記を見つけるチェック機構として利用できます。
すなわち先頭の文字が大文字か小文字を確認するだけで、プログラムに誤記があるかどうかをチェックできます。
このようなマクロ編集のサポート機能を利用することで、プログラムのミスを減らすことができます。
テクニック4|メンバー表示の機能を活用する
メンバー表示とは、利用できるプログラムを表示してくれる機能です。
この機能を利用してプログラムを書く量を減らします。
なぜならマクロで使う単語のスペルを全て暗記する必要がなくなるからです。
たとえば、以下のプログラムを書くことを考えます。
1 |
Range(A1).Value = 5 |
このとき以下のように記述していきます。
1.「range(“A1”).」と記述
まず「range(“A1”).」まで書きます。
このとき「.(ピリオド)」を押した瞬間に以下のようにメンバーリストが表示されます。
2. 「v」を押す
range(“A1”).valueとしたいので、valueの頭文字である「v」を押します。
すると、頭文字が「v」のメンバーリストに移動します。
3. 「↓」を押してvalueを選択してTab
矢印キーの↓を1回押して、valueにカーソルを合わせてTabを押します。そうすると以下のようになります。
最後に、「=5」を記入すれば
1 |
Range(A1).Value = 5 |
これをすることで、valueのスペルをすべて覚える必要がなくなります。
「value」とぼんやりとは覚えていても、varueだったかvaluwだったか記憶するのは大変です。
そのためメンバー機能を利用して、プログラムの書く量も減らして覚える量も減らします。ぜひ活用してみてください。
マクロのプログラムの読みやすさを上げるテクニック
マクロのプログラムを作成するとき、読みやすさを考えない人がいます。
しかし、プログラムの読みやすさを意識しないと、修正作業をするときに時間がかかります。
なぜなら、どこが間違っているのかが分からないからです。
たとえば、本や新聞では見出しを入れたり、改行を入れたりします。
これは、読み側が理解しやすいようにするためです。
見出しや改行なしでは、どこからどこまでが一つのカタマリかわかりません。
ただマクロを作成しているときは、気にならないので、読みやすさを意識しません。
しかし、エラーが出て修正作業を行うとき、読みづらいプログラムだと修正に時間がかかります。
それを避けるには、読みやすいプログラムを作ることです。
以下で読みやすさを上げるテクニックを紹介します。
テクニック5|インデントをずらす
インデントとは、各行の先頭に空白入れて、先頭の開始文字を右にずらすことです。
ずらすためにいれた空白(スペース)を指すこともあります。
なぜインデントを入れるかというと、マクロのプログラムを読みやすくするためです。
読みやすくすることで、プログラムを追加したり、書き直したりするときの作業がラクになります。
以下の画像でインデントがある場合とインデントがない場合を比較してみてください。
インデンドがあると、ForNextやIfがどこからどこまでなのかが一目で分かります。
しかしインデンドがないと、プログラムの切れ目(ForNextやIf)が分かりません。
そのため、プログラムの切れ目でインデントを入れると読みやすさが・があります。
インデントは、行を選択した状態で、以下のキーを押すだけです。
・[Shift]+[Tab]を押すと、インデントを左に1つ動かす
ぜひインデントを意識してみてください。
VBEを効率的に使うために設定を変えるテクニック
VBEとは、Visual Basic Editorの略でエクセルマクロの管理・編集画面のことです。
このときVBE設定を変更すると、見やすさが上がります。
たとえばエクセルマクロのコードを書くとき、コードの色を変えておくと、プログラムを見やすくなります。
しかし初期設定のままでは、色彩が単調のためプログラムが見にくいです。
そのためプログラムを書くことに集中するために、VBEの設定を最適化することを推奨します
7. コードの色を変更する
以下で説明します。
準備|VBEの設定変更
エクセル→タブ「開発」→「Visual Basic」をクリックすれば、VBEを開きます。
エクセルのタブに「開発」がない場合
・□開発にチェックを入れる
上記の操作で、エクセルに「開発」タブが表示されます。
上記については、以下のページで紹介しています。
もしVBAを使うための準備段階に不安がある人は上記をご覧ください。
この内容は以下の動画で紹介しています。
入門エクセルマクロの使い方|マクロ作成から実行までを徹底解説
文字や画像だけで分かりづらい人は上記の動画をご覧ください。
テクニック6|自動構文チェックはチェックしない
自動構文チェックは入れないことをオススメします。
なぜなら、プログラム作成の妨げになるからです。
たとえば、コードを書いているとき、自動構文エラーがONになっていると、エラーが出てきます。
その度に作業が止まってしまうので、集中の妨げになります。
生産性が落ちるので、OFFにしておくことをオススメします。
設定を変更する方法
2.「オプション」をクリック
3.自動構文チェックのチェックを外す
テクニック7|コードの色を変更する
VBEのコードを色付することをオススメします。
たとえば、私のVBEでは、識別子は「ピンク」にしています。(初期設定は自動になっています)
色を変えたパターンと、色を初期設定のままのパターンで比べてみます。
色付けすると、単語毎に色が変わるため、ミスを見つけやすくなります。
すべて同じ色だと、どのコードに間違いや誤記があるか見えづらくなってしまいます。
その結果、ミスがあったときに、プログラムを修正に時間がかかってしまいます。
設定を変更する方法
2.「オプション」をクリック
3.エディターの設定を選択
4.識別子を選択
5.前景を「自動」から「ピンク色」に変更
実際、この方法を教えたら、プログラムの見やすさが変わったので、修正しやすくなったと喜んでいました。ぜひ試してみてくださいね。
最大のテクニックはタイピングを早めること
ここまでマクロ作成のテクニックをお伝えしてきました。
ただ実はマクロを効率的に使いこなすための最大のテクニックは、タイピング速度を上げることです。
なぜなら、プログラム作成ではタイピングが基本だからです。
ショートカットキーを使ったり、プログラムを書いたりするときはすべてキーボードをタイプします。
そのため、タイピングが早い人はプログラム作成も早いです。
タイピング速度については、以下で紹介していますので、ご覧ください。
まとめ
このページでは、以下について紹介しました。ぜひこれらを実践してみてください。
2. マクロをは書かない
3. 小文字で書く
4. メンバー表示の機能を活用する
5. インデントをずらす
6. 自動構文チェックはチェックしない
7. コードの色を変更する
上記のテクニックを使いこなせるようになれば、マクロを作るスピードが上がります。
そうすればマクロ作成のスピードが上がると、ミスがあっても修正対応をスムーズになります。
結局のところ、量をこなすことで質が高まります。
プログラムを作れば作るほど、マクロの資産が増えて、どんどんプログラムを作るスピードが上がります。
その一歩は、プログラムの作成速度を上げることにあります。
ぜひ活用してみてください。
エクセルマクロについて
エクセルマクロVBAについては、以下のページでさらに深く紹介しています。
エクセルマクロとは何かということを以下で紹介しています。
マクロについて体系的に勉強したい人は以下をご覧ください。