Office用のアプリケーションでプログラミングができることはご存じでしょうか?プログラミングと聞くと高度な技術が必要なものに感じられますが、VBAは難易度が低く初心者でも始めやすいプログラミング言語となっています。今回は、そんなVBAの機能やメリットについて紹介していきたいと思います。VBAをメインに紹介していますので、ご了承ください。VBAを含むVBAそのものの基礎知識を学んでいきましょう。VBAの話題になると必ずと言ってもいいほど出てくるマクロとの違いも開設します。Officeに含まれるアプリケーションソフト(Word、Excel、Access、PowerPointなど)で利用できるプログラミング言語です。VBAを使用することで、ソフトウェアの動作の一部を変更したり、繰り返し行われる定型的な作業や複雑な処理を自動的に実行させたりすることができます。対応するアプリケーションには開発環境と実行環境の両方が組み込まれており、使用を始めるにあたりOffice以外の特別なソフトウェアの用意やセッティングを必要としないため、誰でも手軽にプログラミングを始められます。VBA(Access対応)”などと対応するアプリケーションによって呼び分けることもあります。マクロとは?マクロとは、アプリケーション上で行われる一連の操作や命令などを1つにまとめ、必要に応じ呼び出せるようにした機能を指すコンピュータ用語です。繰り返し同じ作業を行う場合にマクロを実行すると、手動の操作が不要になり手間を省くことができます。プログラミングの分野では、ソースコード(プログラミング言語で記述されたテキストのこと)の中で繰り返し使用される特定の記述を別の短い記述に自動的に置き換える機能のことを指します。VBAとマクロの違い前述の“VBAとは?”、“マクロとは?”を見ていただければわかりますが、プログラミング言語であるVBAとコンピュータ用語あるいは機能の一つであるマクロはまったく別の存在です。“VBAはマクロを作成できるプログラミング言語”、“マクロはVBAで作成できる機能”という両者の特徴から同一視されてしまうケースがありますが、マクロはVBA以外でも作成でき、VBAもマクロ以外の用途に使えます。VBAを使用するメリットVBAのもっとも大きなメリットは業務の効率化です。Excelをはじめとした業務でよく使用されるアプリケーションの操作を自動化できるため、多くの職種において負担の軽減やヒューマンエラーの予防に活躍します。“すぐに始められる、比較的難易度の低いプログラミング言語”という特性から、プログラミングへの入門として役立つというメリットもあります。Officeさえあればすぐに始められるため環境構築が不要となっており、その敷居の低さからネットに情報が多く、エンジニアやプログラマーのような専門職以外でも始めやすいです。加えて、プログラミングというものはほとんどの言語において基本構造が似ているため、VBAで培ったプログラミングスキルは他のプログラミング言語を学習する時にも少なからず活躍します。VBAには、さまざまな機能が備わっています。Excelを使用する作業の自動化VBAはExcelで使われることが多く、その際は膨大なデータを集計・分析する処理する機能により、ちょっとした作業はもちろん複雑な処理も自動化できます。四則演算、ソート、検索、集計といったExcelの機能を利用して、計算、データを参照したグラフ作成、日次データをもとにした月次データ作成といった作業の自動化を行えます。他のファイルからデータを取り込んで処理することも可能です。定型ファイルの作成VBAを使用することにより、自動でExcelシートからPDFへの出力を行えるようになります。これにより、データを転記せずに帳票や報告書を作成できるようになる他、ヒューマンエラーも削減できます。定型ファイルの作成はWordやPowerPointで作成したファイルやPDF、CSV形式のファイルなどを取り込んで行うことも可能です。サーバーログの解析VBAは、ログファイルなどのCSV形式を含むテキストファイルを扱うことができます。そのため、サーバーのログファイルを読み込み、Excelで解析することが可能です。Parser」を使うことで、CSV形式でのファイル出力やVBAでのレポート作成といった作業も行えます。Edgeでも使うことができます。そのため、プログラムがインターネット上のリンクを辿ってWEBサイトを巡回し、WEBページ上の情報を複製・保存する“クローリング”が可能です。自動収集したWEBのデータを使ってグラフやPDFレポート自動作成することもできます。ユーザーフォームの作成VBAでは、業務効率化に活用できるExcelやAccess用のユーザーフォームを作成できます。ユーザーフォームとなるダイアログボックス作成の際には、データ入力用のセルをはじめ、リストボックス、コンボボックス、チェックボックスなどのコントロールを設置可能なので、操作しやすいフォームを作成できます。OfficeのVBAを使用できるアプリケーション同士は連携することができます。この機能により、データをやり取りして処理することが可能なので、AccessのデータをもとにExcelのグラフを作成したり、ExcelのセルデータをWord文書に挿入してWordからシートを操作したりできます。Pointにコピー&ペーストするツールも作成できます。VBAを使用して、実際にマクロを作成しながら書き方を解説していきます。Editor(VBE)”をExcel上で起動できる状態にします。ファイルタブから“オプション”を選択し、“リボンのユーザ設定”から“開発タブ”にチェックを入れて、Excelの画面に開発タブを追加します。Basic”のアイコンをクリックすることで、VBEが起動します。キャプション:VBEを起動した状態マクロ作成の準備を行うVBEが起動したら、次はコード(プログラム)を記述する場所となる“標準モジュール”を追加します。挿入タグの中にある標準モジュールを選択することで追加され、コードを書くことができるようになります。キャプション:標準モジュールを起動した状態マクロを作る標準モジュールを追加してコードを書くことができるようになったら、VBAで処理を書いていきます。プログラム(マクロ)を呼び出すための要素であるSubプロシージャを作成します。Sub”という文字列が表示されます。Sub”の間の部分にVBAのコードを書きこみ、マクロを作成します。“マクロ”の部分は別の単語や英語でも問題はありません。Sub”という文字列が表示されます。今回はシート1のA1セルに今日の日付を入力するマクロを作ります。打ち込むコードは下記の通りです。Subキャプション:コードを入力した状態マクロを実行するマクロが完成したらさっそく実行してみましょう。VBEならば、実行タブから“Sub/ユーザーフォームの実行”をクリックして作成したマクロ名を選び、実行ボタンを押すことで動作します。Excelの画面ならば、開発タブから“マクロ”を選択して作成したマクロ名を選び、実行ボタンを押すことで動作します。キャプション:Excelの画面では、開発タブから“マクロ”を選択することで行います。キャプション:マクロの実行画面。VBEの画面で実行タブから“Sub/ユーザーフォームの実行”をクリックしても、この画面が表示されます。VBAの資格VBAの資格として、ExcelやAccessに搭載されているマクロ・VBAのスキルを認定する“VBAエキスパート”が存在します。スタンダード”の4科目です。ベーシックレベルはビジネスで一般的に利用されるレベル、スタンダードレベルはITプロフェッショナルなどに求められるレベルとなっています。試験に合格すると認定証が利用できるようになり、VBAエキスパートの正式ロゴを使用することも可能になります。スタンダードクラウン”の認定証が発行されます。VBAの取得で収入は変わる?VBAのスキルや資格は、直接的には収入に影響しません。業務および作業効率の向上や就職・転職時の実力アピールなど、間接的な形で収入への影響を期待できます。業務においては、人事・経理職なら給与計算や経費計算をはじめとしたExcel作業、営業、マーケティング職ならエクセルを使用した月次データ報告や売れ筋商品の分析、非IT系の技術者・開発者ならば製品などのデータ統計といった形で効率改善を図ることができます。就職・転職時には、求人内容にVBAスキルを歓迎する旨が記述されている会社の面接で資格を所持していることなどをアピールできれば好印象を与えられるでしょう。VBAは活用できるシーンが多いことから学習本が多数出版されています。本項では、オススメの数冊を紹介します。効率的に身に付けられる構成の書籍です。基礎文法がイラスト付きでやさしく解説されている他、よく使用されるコードの書式や利用上の注意事項も詳しく書かれています。出版を記念して第1章が無料公開されています。VBAの使い方を網羅した解説書で、VBAの具体的な使用例が300個以上掲載されています。マクロ操作やプログラムの基礎がわかりやすく解説されている他、実践的なサンプルも収録されており、初心者にオススメの一冊となっています。サイズはA5判でページ数は880とちょっとした辞書のようなサイズですが、購入特典に検索しやすいPDF電子版も存在しているので持ち運びたい人でも購入しやすい点も魅力です。現場の教科書』Excelのコンテンツを発信している動画再生回数180万回越えのYouTuber・おさ(長内孝平)さんがビジネスの現場で学んだExcel仕事術をテキストと図解で解説する一冊です。本書の一番の特徴は、各レッスンに記載されたQRコードから動画解説ページにアクセスすることで、本と動画の両方で理解を深められるという点です。これにより、文字だけではイメージしづらい操作もしっかりと理解できます。『VBAエキスパート公式テキスト』各種VBAエキスパートには、各科目用の試験対策教材も用意されています。模擬問題をはじめとした学習用データが収録されている他、基礎から体系的にスキルを習得することを目的としているため、実務でよく使われる機能に重点を置いた解説が行われています。試験合格を目指す人だけでなく、VBAを学習したい人も手を出しやすい学習書です。おすすめのVBA学習サイトVBAは敷居の低さからネットに情報が多いという点は前述したとおりですが、資料以外にも学習サイトが存在しています。VBAを取り扱ったものがメインとなっています。ドットインストール“ドットインストール”は、3分の動画を通してプログラミングを学べるサイトです。VBA入門”が用意されています。必要となる知識や用語はもちろん変数型やIF文など、他のプログラミング言語でも用いる基礎知識まで解説されており、知識がほとんどない初心者にも心強い内容となっています。動画は無料ですが有料プレミアム会員になれば、文字起こしテキストやソースコードの閲覧も行えるようになります。VBA入門”という講座が用意されています。VBAについて学ぶことができます。OfficeとVBAを中心とした情報コミュニティサイトです。ビギナーズ”というコーナーで初心者に向けた解説が行われています。VBAなどのテクニックを集めたTips集である“即効テクニック”といったコンテンツがあるのもうれしいポイントです。いきませんが、プログラミングのキャリアにおける第一歩はもちろん、普段の業務でも役立つ要素があります。