【初心者向け】Excelマクロ・VBAの基本について
こんにちは、技術部のKです。
さて、今回はExcelマクロ / VBAの基本について記載していきます。開発現場でもドキュメント作成やスケジュール作成において業務効率化の手段としてマクロを活用する機会は多いと思います。
少しでもみなさまのお役に立てれば幸いです。
1. マクロとは / VBAとは
マクロとは、エクセルの操作を自動化する機能です。
①マクロはVBA言語で書かれてている。
②Excelの全機能を操作できる。
③手動操作を記録できる。
④Windowsの設定たインターネットのデータ収集も可能。
エクセルのマクロ機能の中には、「マクロの記録」という機能が搭載されていて、手動での操作がマクロとして記録されます。
VBAとはVisual Basic for Applicationsの略称でMicrosoft Officeに含まれるアプリケーションソフトの拡張機能で、利用者が簡易なプログラムを記述して実行することで複雑な処理の自動化などを行なうことができるものです。
2. VBAの「オブジェクト」とは
基本構文に入る前に知っておかねばならないこととして、VBAには「オブジェクト」という概念があります。「オブジェクト」とは、操作を指示する際に、操作の対象となる「物」のことを指します。
下記は基本的文法の一部です。
オブジェクトの値を取得する書き方
Range("{オブジェクトの名前}").{オブジェクトのプロパティ名}
Range("A1").Value
上記は「A1」セルの内容を取得
オブジェクトの値を設定する書き方
Range("{オブジェクトの名前}").{オブジェクトのプロパティ名}={値}
Range("A1").Value=10
オブジェクトの動作を指示する書き方
Range("{オブジェクトの名前}").{動作名}
Range("A1").Select
3. VBAでできること
①データ処理の自動化
VBAを使用すれば、データ集計などの四則計算を自動化することができます。
例えば、売上情報をExcelで一括管理し、企業別にデータの並べ替えと集計した数値をまとめて表示することが可能です。一つひとつ目視と手作業で行っていたこのような一連の作業がワンクリックで実行できるため、月末の作業の大幅な時間短縮につながります。
②転記作業の自動化
VBAを使用すれば、Microsoft Office製品内にあるデータを、自動で転記することができます。
Excelで管理している売上データを商品別で別シートに転記する場合や別ブックからデータを転記してくる場合などがこれにあたります。手作業でデータを転記すると一定の時間がかかりますが、VBAで自動化してしまえばワンクリックで転記を完了させることができます。
③レポート作成の自動化
時間をかけたくない情報共有用の社内レポートも自動作成することができます。
VBAの実行で集計されたデータを表として可視化もしくはグラフ化することが可能です。さらに、できあがった情報をPDFとして出力するまでを自動化することもできます。手作業だと3時間ほどかかってしまうようなレポート作成も、月末にワンクリックで実行することができるため大幅な業務効率化を行うことができます。
④帳票作成の自動化
社内では請求書、領収書、入出金伝票など様々な帳票が作成されます。
VBAを使用すれば、データ一覧をもとに、取引先別に自動でひな形に転記することが可能です。また、書類に記入しなければならない日付が抜けていたり、数字以外の文字入力を行うと警告をだす設定しておけば、データに誤りがあった場合でも間違った情報の修正を自動で実行し、人の手による入力ミスを限りなく減らすことができます。
⑤メールの一括送信
VBAではメールの作成から送信までを全て自動化することができます。
メールのフォーマットの指定箇所に、リンクや添付ファイルを自動添付することも可能です。月末報告やメールマガジンなどの定期的で形式が変わらないメールを、一斉作成、大量送信する際にとても効果的です。
⑥入力作業の利便性向上
VBAではメールの作成から送信までを全て自動化することができます。
メールのフォーマットの指定箇所に、リンクや添付ファイルを自動添付することも可能です。月末報告やメールマガジンなどの定期的で形式が変わらないメールを、一斉作成、大量送信する際にとても効果的です。
⑦WEBのデータ収集
VBAでは複数のウェブページから特定の情報を転記する「スクレイピング」を自動化することができます。
例えば複数のウェブショップから指定した商品名の販売価格や、製品情報などのデータを自動で抜き取る事ができます。VBAではこのようなスクレイピングを定期的に自動実行し、Excelなどに整理してグラフ化や集計を行うことができるため、競合企業や市場調査などでも汎用性が高い使い方ができます。
⑧Microsoft Officeアプリケーション同士の連携
VBAはMicrosoft Office製品であればどのアプリケーションでも利用でき、ExcelやWord、PowerPoint、Accessなどを連携できるのが特徴です。
例えば1万件の顧客に宛名とPDF入りのメールを送信したいとき、手作業では膨大な時間がかかります。しかしVBAを利用すると、Excelにある顧客データから名字のみを抽出し、メール本文にWordからの差し込み文章や指定箇所にあるPDFとともにフォーマットを自動生成して、個別アドレスに自動送信することができます。またプレゼン資料作成のために、Excel上の売上データをPowerPointに転記し、そのうえでグラフや表の自動生成を行うこともできます。
最後までお読みいただきありがとうございました。
関連記事
- 2023-02-13
- テクノロジー