こんにちは!「デザインもできるシステムエンジニア」のあつもり(プロフィール)です。
あなたは、エクセルVBAは「エクセルの作業を自動化するプログラム」だと思っていませんか?
そうだとしたら、もったいないですよ。
それはエクセルVBAでできることの一部に過ぎないからです。
他のアプリと連携して便利なアプリを作ること、それがエクセルVBAの真骨頂と言えます。
今回は、エクセルVBAを使ってできる業務自動化のアイデアを紹介したいと思います。
VBAとマクロの違いが良く分からない。そんなかたは以下の記事をご覧ください。モヤモアが晴れてスカッとしますよ。
目次
エクセルVBA使ってできること
では実際にどんなことができるのか?
日常業務において出来ないことはないんじゃないかってくらい、色々なことが出来ます。
エクセル内での作業効率化はもちろんのこと、ブラウザやメールなどのアプリケーションと連携することで様々な業務を効率化できます。
データベースの管理ツールとして使うこともできます。
アイデア次第でいろいろできるし、サクッと簡単に開発できるので、時間もコストも安く済む。プログラムスキルもそれほど必要ない。
それがエクセルVBAの良い所です。
それではエクセルVBAでこんなことができるという一例を紹介します。
文字列一括変換アプリ
色々なパターンの文字列変換を行うアプリ。
全角半角の変換をしたり、複数の異なる文字列を一発で置き換えたり。手作業でやると膨大な時間がかかるところを、文字列変換アプリを使えば大幅に時間短縮できます。
シートに対してだけでなく複数ファイルを同時に読み込んで、一度に処理することもできます。
手作業で行った場合、ファイルの数が増えれば増えるほど時間がかかりますが、このプログラムを使えばボタン一発で瞬時に終わります。
小売業などで、何万点に及ぶ商品情報を修正するのに使ったりできます。
こんな感じ。
過去の記事で文字列変換ツールの作り方を解説してます。
メール一括送信アプリ
メールを複数の相手に一括送信するアプリ。
例えば同じ内容のメールを、複数の取引先に送らなければならないケースがあったとします。
情報保護の観点から、複数の取引先に送る場合、あて先を各取引先で分ける場合があります。
ここで、メールソフトを使うと取引先の数だけメールを送らなければなりません。
かといってBCCを使うのも都合が悪い。そんな場合に威力を発揮するのがこのメール一括送信アプリです。
さらにメンテナンス性も優れています。各取引先には担当者が複数人、場合によっては数十人になることもあります。担当者が変わることもあるでしょう。
そんな時でも、エクセルのワークシート上であて先を追加、削除できるので、簡単にスピーディに対応できます。
取引先ごとに、メールの内容、添付ファイルを変えて一括送信する、なんてこともできます。
メールアプリを作るには、BASP21などの外部DLLを使う必要があります。
Webスクレイピングアプリ
Webサイトから必要な情報だけを取得してエクセルワークシートに書き出すプログラム。
ブログの記事一覧や画像を取得したり、気になる企業の株価情報を取得したりできます。
ワークシートに書き出した後に、体裁を整えてPDFファイルにして保存、なんてこともできます。
Webスレイピングは、ページ内に書かれたHTMLタグを頼りにして、データを抽出します。なので最低限のHTMLの知識が必要になります。
HTMLは簡単な言語なので、VBAに取り組んでいるかたであればすぐに習得できます。
データベースメンテアプリ
データベースの読み書きをするアプリ。
MySQL、SQLServer、Oracle、Microsoft Accessなどさまざまなデータベースに接続できます。
普通データベースのデータを読み書きするときに、それ専用のアプリを使いますよね。
例えば、MicrosoftならSQLManagemetStudio、オラクルならオラクルクライアントなど。
データベースを操作するには、そのアプリの使い方を覚えなければなりません。
さらに、複雑な検索をしたい場合、コマンド(SQL文)を使う必要もあります。
そこで、データメースメンテアプリの登場です。
管理アプリの使い方やコマンドがわからなくても、エクセル上から読み込みや更新が行えます。
毎回決まった更新作業がある。
複数人で交代で作業する。
コマンド発行ミスを減らしたい。
新人の教育コストを減らしたい。
このようなサーバーの運用保守に威力を発揮するアプリです。
商品台帳作成アプリ
ワークシートを使って商品台帳を自動作成するアプリ。
データベースの商品データをワークシート上に読み込み、枠線や網掛けなどで体裁を整えます。商品のサムネイル画像をセルに貼りつけることもできます。
大量の商品データがあった場合、手作業で商品台帳を作っていたら膨大な時間がかかります。
このツールがあればボタン1発で商品台帳ができちゃいます。
サムネイル画像を作成するには外部DLLが必要です。
請求書作成アプリ
ワークシートを使って請求書を自動作成するアプリ。
異なるフォーマットのファイルを一度に読み込み、請求書を作成します。
例えばAという売上明細、Bという商品マスタがあったとします。
請求書を作るのにAの売上明細には商品名が入っていなければなりません。ところがAには商品コードしか入っていません。商品名はBの商品マスタに入っています。
この場合、商品コードをキーにしてBから商品名を抜き出して、請求書を作成します。
これを手作業でやることを考えるとうんざりしませんか?
このアプリを使えば、AとBの2つのファイルを同時に読み込んで、Cという請求書をボタン一発で作れます。
すぐに客先に渡せるような体裁を整えた形にすることも可能です。
WEB APIと連携する
WEB APIとはインターネット上に置かれた便利ツールのようなものです。
WEB APIに対してコマンドを発行すると、コマンドに応じた答えを返してくれます。
例えば、今日の天気とか、株価とか。
色々なWEB APIが公開されているので、使い方次第でグッと業務の効率化が図れると思います。
- Amazonや楽天の商品情報を取得して価格を比較する
- ぐるなびから好きな料理のジャンルのお店をピックアップし一覧を作る
- エクセルのワークシート上からTwitter投稿を行う
- Google MAPと連携して、指定した住所の近辺にあるレストランをエクセルシート上に書き出す
- ヤフオクに商品を自動出品する
のようなことができます。
他にも便利なWEB APIがたくさん公開されています。
まとめ
いかがでしたか?
エクセルのVBAを使いこなせば、社内でヒーローになれます。
上手くいけば作業時間9割減なんてこともありますから。特に営業、事務系の職場では引っ張りだこ状態です。
実際に僕が経験しています。
ほとんどの人が、繰り返しのルーチンワークは嫌いなんです。
機械的な作業を減らして、クリエイティブな作業に当てる。時間短縮して残業時間を減らす。
とても前向きなことだと思います。だから僕は社内ツールを作ることが大好きでした。
僕が作ったツールで時間短縮ができ、心も前向きになってくれる。とてもやりがいがありました。
こんなに強力なツールだけど世間一般の評価はあまり高くないですよね。ちょっと残念な氣もしますが、このブログを通してエクセルVBAの素晴らしさを少しでも知ってもらえたらなと思っています。
すでに社内SEとしてエクセルVBAを使っている人は自信を持って開発したらよいと思います。
エクセルのマクロで業務を効率化したい。そんなかたはこの記事をご覧ください。
その使い方だと損してます!
会社員、個人事業主のかたへ。
無料で登録できるAmazonビジネスアカウントを知ってますか?
何と言っても便利なのが請求書払いによる後払いができるということ。
また、承認ルールを作成すれば、業務上必要な物だけに購入を制限することができます。
さらに多くの商品にビジネスアカウント価格が設定されており、個人アカウントより安く購入できます。
このように個人アカウントと比べてビジネスアカウントはお得な機能や特典がついています。
無料で登録できるので、会社員、個人事業主なら使ったほうが得なのは言うまでもありません。