ExcelVBA】自動化ツールのご紹介2015年8月24日チュートリアルプログラミングExcelVBATweetみなさんお久しぶりです。最近ワンタンスープ(マルちゃんのやつ)にはまっているまさとぅーです。今記事では、現在私が仕事で携わっているExcelVBAについて書かせて頂きたいと思います。Applications」の略称で、マイクロソフト社によってマクロ言語用に開発されたプログラミング言語のことを言います。主なVBAは、ExcelVBA、WordVBA、AccessVBA、PowerPointVBA等がありますが、今記事ではExcelVBAについてお話します。Basic6.0」とほぼ同等の機能を持っています。VBAは本格的なプログラムを作成することができるプログラミング言語なのです。Excelを使用して定型作業を繰り返し行う場合、ExcelVBAを使用して作業を自動化することで、大幅な作業効率向上を図ることができます。上記はほんの一例ですが、まだまだExcelVBAで実現できることは沢山あります。ExcelVBAの自動化ツールExcelVBAでの自動化例を簡単にご紹介させて頂きたいと思います。ある会社で事務を担当されているA子さんがいるとします。A子さんは、社員が入力している移動交通費のExcelファイルを毎日開き、そこに入力されている金額をメモし、社員全体の合計値を集計していたとします。A子さんはこの作業に、1ファイルにつき10秒ほど時間が掛かっているとしたら、10ファイルだと100秒(1分40秒)も掛かる計算になります。今回はこれを自動化してみたいと思います。こちらが自動集計画面です。「フォルダ選択」ボタンを押下し、Excelファイルが格納されているフォルダを指定します。フォルダ指定が完了したら、「集計開始!」ボタンを押下します。※集計対象フォルダの指定が無い・指定されたフォルダが存在しない・指定されたフォルダにExcelファイルが存在しない場合は、エラーメッセージを表示し、処理終了します。待つと集計処理が終了します。合計値もしっかりと計算され、処理時間も5秒!!!となり、手作業で行うより95秒(約1分半)も作業時間が短縮できたことになります。約380分作業時間短縮!例では10ファイルとしましたが、これが100ファイル・1000ファイルとなった場合、とてもじゃありませんが、手作業でやるのはちょっと現実的ではありません。上記のように単純なルーチンワークでしたら、ExcelVBAで自動化することにより人が手作業するよりも遥かに早く作業をすることができる上、手作業で発生し得るミスも無くすことができます。なんか難しそう・・・と感じるかもしれませんが、慣れると以外と簡単に作れるので、ぜひ挑戦してみてください。上記でも述べましたが、ExcelVBAはお手持ちのPCにExcel(※1)がインストールされていれば、いつでも利用することができます。RTは除く)Excelを起動して、[Alt]+[F11]を押してみてください!VBEと呼ばれるExcelVBAで開発を行うためのエディタツールが表示されます。Editor)...マクロのコードを記述・修正するためのエディタツール。記述したコードの動作確認を実施する重要なツール。最近ではインターネット上にもVBAの情報(ソース)等が充実しているため、独学でもVBAが学べる環境が整ってきています。一度コツをつかんでしまえば十分習得は可能だと思います。最後に先ほどの自動集計処理のソースを公開します。たいしたソースではありませんが、参考にして頂ければ幸いです。※当ソースは集計対象ファイル・1シート目のD8セルに、合計値が記述してあるのを前提として記述してあります。“¥”(円マーク)です。※対象ファイルは、xlsファイル形式としています。"指定されたフォルダは存在しません。"指定されたフォルダにはExcelファイルが存在しません。"集計対象フォルダを指定してください。Sub手作業で行っていた日々のルーチンワークをExcelVBAで自動化し、作業効率を上げて残業を無くし、アフターファイブ(古っ笑)を満喫しましょう!最後までお読み頂き、ありがとうございました。Expressを利用しました。次の記事へ株式会社ライズウィル人に、企業に、社会に貢献するサービスを提供するITソリューション企業の株式会社ライズウィルです。ライズウィルブログでは、システム開発、Web制作、デザインなどのITに関するためになる情報や、社内のイベント、お知らせなどを掲載していきます。求める人材Web系、もしくはオープン系の開発実務1年以上の経験をお持ちの方。