パソコン業務を効率化するために有効な手法としてExcelマクロで業務自動化を実現する方法があります。
ただし、Excelマクロを作成するにはVBAと呼ばれるプログラミング言語の知識が必要になります。
VBAは活用したいけど、プログラミングはあまり詳しくない・・・
そんな方向けに記事を書き留めてみましたので、最後まで読んでみてください。
・VBAって何?
・プログラミングはあまり詳しくないけどVBAで自動化したい
・具体的にVBAで自動化するにはどうすればいいか分からない
・VBAの知識を身につけたいがどうすればよい?
・知識は無いけど、とにかく手っ取り早く自動化したいよ!
Excelマクロとは、一言で言うと、Excelの操作を自動化する機能のことです。
Excelはそれ自体がとても便利なソフトであり、仕事でよく利用している会社がほとんどかと思います。
ただし便利だからこそ、Excelに頼る仕事量も多くなり、Excelを操作する時間も増加していきます。
そんな操作をボタン一つで自動化できれば、作業時間を大幅に短縮することができます。
そんなマクロを作成する時に使用されるプログラミング言語がVBA(Visual Basic for Applications)です。
ただしVBAを扱うには、ある程度のプログラミングの知識が必要になるため、ハードルが低いとは言えないのが実情です。
プログラミングについて詳しくない人でも、マクロを作成する方法はあります。
それを実現するのが「マクロの記録」機能です。
「マクロの記録」機能は、Excelの「開発」タブを選択後に表示されます。(下図参照)
※「開発」タブはデフォルトでは表示されない事が多いため、以下の手順で追加してください。
①ファイルタブ→②オプション→③リボンのユーザ設定→④「開発」にチェック→⑤OKをクリック
「マクロの記録」を一度クリックすると、「記録終了」をクリックするまでマクロの記録が行われます。
記録中にExcel操作を実施すると、操作内容が自動的にマクロ化されます。
実際に作ってみましょう。
例えば下記の成績表で、数学が70点以上となるセルを黄色に塗るマクロを作ります。
まずはマクロの記録を開始します。
①「マクロの記録」をクリック→②「OK」をクリック
記録が開始されたので、以降はマクロ化したい操作を行います。
①数学列のC列を選択→②「フィルター」をクリック
①「フィルターの「▼」」→②「数値フィルター」→③「指定の値より大きい」をクリック。
④数字に「70」を入力→⑤条件に「以上」を選択→⑥「OK」ををクリック。
①C1セルにカーソルを合わせ「Shift+Ctrl+↓」でセルを選択→②セルの塗りつぶし(黄色)をクリック
①「フィルター」をクリックしてフィルターを解除→②C1セルにカーソルを合わせ→③ セルの塗りつぶし(塗りつぶしなし)をクリック
ここまででやりたい事ができたため、最後に「記録終了」をクリックします。
これで、「数学が70点以上のセルを黄色に塗る」マクロが完成しました。
あとは起動するためのボタンを作成します。
①開発タブの「挿入」をクリック→②左上の「ボタン」をクリック→③ドラッグでボタンの大きさを決める
①先ほど作成したマクロのマクロ名を選択※→②OKをクリック
※ここで先ほどのマクロ名を選択することで、ボタンクリック時にマクロが起動するようになります。
最後に、先ほどマクロ記録の過程で黄色に塗ったセルを「塗りつぶしなし」に変更しておきます。
これで完成です。
完成!
実際にボタンをクリックしてみると・・・
以下のように数学70点以上のセルが黄色に変化しました。
以上が「マクロの記録」機能によるマクロ作成手順です。
プログラミングは一切することなく、マクロを作成することが出来ました。
このように、エクセル内の単純操作のみであれば「マクロの記録」は有効な手段です。
非常に便利な「マクロの記録」ですが、できないこともあります。
・繰り返し実施する処理
・変数を扱う処理
・条件により分岐するような処理
・エクセル外の操作(ファイルの選択や、Outlookの操作など)
そのため、より複雑な処理をマクロ化したい場合は、VBAでコーディングする必要があります。
より高度な処理をマクロ化したい場合は、VBAを身につけるしかありません。
VBAに関する知識を、じっくり身に着けたい方には参考書を買うことをお勧めします。
参考書には、VBAに関する一通りの知識が載っていることが多いです。
一冊読み込むだけで、コーディングする上での基本的な知識を一通り身に着けることが出来ます。
作成したいマクロが明確になっている場合は、インターネットの情報から勉強することをお勧めします。
インターネットでやりたいことを検索すれば、必要としている情報が素早く見つけることが出来ます。
また、サンプルコードを掲載しているサイトも多いため、コーディングも楽に行えます。
目的が明確だと作成のモチベーションも上がるため、是非作成しながら知識を身に着けてください。
本やインターネットでは知りたいことがなかなか見つからないこともあります。
また、見つかったとしても、解説のレベルが上級者向けで理解できないこともあります。
そんな時は、周りにVBAに詳しい人がいれば、知りたいことを直接教えてもらうことができるため、上達のスピードが格段に上がります。
周りにVBAについて詳しい人がいなければ、その道を生業としているプロに聞いてみるのも一つの手です。
VBAに対するニーズも多いので、プロに教えてもらうような場も増えてきています。
値段もリーズナブルな場合が多いので、聞きたいことをまとめてプロに解消してもらうと効率的です。
そんなときは開き直ってプロに作ってもらいましょう。
値段も数千円~とリーズナブルなので、自分で時間をかけて勉強して開発するよりもコスパが良い場合もあります。
是非こちらも検討してみてください。
「マクロの記録」機能を使えば、プログラミング不要でExcelマクロを作成可能です。
勉強を始めたり、プロに作成を依頼する前に、まずは「マクロの記録」で自動化できないかを試してからでも遅くはありません。
まずは身近な単純作業を、「マクロの記録」を使ってマクロ化してみてはいかがでしょうか。