エクセルVBAでできることはこんなにある!他のアプリケーションとの連携で発揮する真の実力

こんにちは~。「デザインもできるシステムエンジニア」のあつもり(@atumori17)です。今日も「時間クリエーター」としてバシバシ時短に取り組んでます!

今回は「エクセルVBAってこんなことができるよ。」っていう業務自動化のアイデアを紹介したいと思います。エクセルVBAってエクセルの作業を自動化するプログラムって思っている方が多いですよね。

しかし!これはあっているけど正解ではないんですっ。正解は「エクセルの作業を自動化するのが得意」なプログラムです。なんだよ!同じじゃん。って思われた方、ちょっと違うんです。

エクセルの自動化だけじゃなく、他のことも色々できちゃう優れもののプログラムってことなんです。

レクタングル大336×280

他のアプリケーションと連携することで真の力を発揮する

エクセルVBAをプログラミングする手順の一つで、エクセルのマクロ機能を使って自動化させたい作業を記録させるというものがあります。

そして記録させたソースコードをVBAエディタで、実用的なプログラムに修正していきます。私もこの流れでプログラムを作ることがあります。

そんな便利なマクロ機能なんですが、エクセルVBAはこのマクロ機能を使って、エクセル内の作業を自動化するだけのものと思っている方が多いんですね。

あ~もったいない、それだけではないんです。エクセルVBAを使えば、エクセルからメールが送れたりデータベースにアクセスしてデータを取得したり、Webページにアクセスして必要な情報を取得するWebスクレイピングまでできちゃいます。

日常業務において出来ないことはないんじゃないかってくらい、色々なことが出来るんですね。

エクセルVBAを駆使するとこんな事ができる

さきほど紹介したように、エクセル内での作業に限らず、インターネットブラウザやメールなどのアプリケーションと連携することで様々な業務を効率化できます。

アイデア次第でなんでもできちゃうのがエクセルVBAの便利なところですっ。それではエクセルVBAでこんなことができるという一例を紹介します。

文字列一括変換プログラム

全角半角の変換をしたり、複数の異なる文字列を置き換えたり、改行を削除したり。複数の処理を一括して行うプログラム。複数ファイルを一度に処理することもできます

手作業で行った場合、変換対象の列や種類が増えれば増えるほど時間がかかりますが、このプログラムを使えばボタン一発で瞬時に終わりますっ。

メール一括送信プログラム

ワークシート上にグループ分けされたあて先にメールを一括送信するプログラム。例えば同じ内容のメールを、複数の取引先に送らなければならないケースがあったとします。

メールのあて先を各取引先で分ける場合、メールソフトを使うと取引先の数だけメールを送らなければなりません。かといってBCCに全ての取引先を入れるのも都合が悪い。そんな場合に威力を発揮するのがこのメール送信プログラムです。

さらにメンテナンス性も優れています。各取引先には担当者が複数人、場合によっては数十人になることもあります。厄介なことに担当者が頻繁に変わります。

そんな時、エクセルのワークシート上であて先を追加したり、削除するのですぐに対応でき、とっても便利なんです。

取引先ごとに、メールの内容、添付ファイルを変えて一括送信する、なんてこともできます。

Webスクレイピングプログラム

Webサイトから必要な情報だけを取得してエクセルワークシートに書き出すプログラム。ブログの記事一覧や画像を取得したり、気になる企業の株価情報を取得したりできます。ワークシートに書き出した後に体裁を整えてPDFファイルにして保存、なんてこともできちゃいます。

データベースメンテナンスプログラム

エクセルワークシート上でデータベースの読み書きできるプログラム。データベース管理ツールの使い方やSQL文がわからなくても、エクセル上から更新が行える便利なプログラムです。

MySQL、SQLServer、Oracle、Microsoft Accessなどさまざまなデータベースに接続できます。複数人でサーバーの運用保守を行うときなどに便利です。

商品台帳作成プログラム

データベースの商品データをエクセルワークシート上に読み込み、サムネイル画像付きの商品台帳を生成するプログラム。大量の商品データがあった場合、手作業で商品台帳を作っていたら1日どころじゃ済まない話ですよね。このようなツールがあればボタン1発で商品台帳ができちゃいます。

請求書作成プログラム

異なるフォーマットのファイルを一度に読み込み、請求書を作成するプログラム。例えばAという売上げ明細ファイル、Bという商品マスタファイルがあったとします。

請求書を作るのにAの売上げ明細ファイルには商品名がはいっていなければなりません。ところがAファイルには商品コードしか入っていません。

商品名はBファイルに入っています。この場合、商品コードを元に「Bファイルから商品名を検索してAファイルに貼り付け」ということを手作業でやっていたら大変ですよね。

こんなときに本領発揮するのがエクセルVBAです。2つのファイルを同時に読み込んで、商品名を入れた状態の請求書ファイルを生成します。すぐにお客様に渡せるような体裁を整えた形にすることも可能です。

WEB APIと連携する

WEB APIとの連携も使い方次第でグッと業務の効率化が図れますね。例えば

  • Amazonや楽天の商品情報を取得して価格を比較する
  • ぐるなびから好きな料理のジャンルのお店をピックアップし一覧を作る
  • エクセルのワークシート上からTwwiter投稿を行う
  • Google MAPと連携して、指定した住所の近辺にあるレストランをエクセルシート上に書き出す
  • ヤフオクに商品を自動出品する

のようなことができます。他にも便利なWEB APIがたくさん公開されています。このようなサービスと連携することで、今まで手作業で行っていたことが自動化できるので業務の効率化につながります。

VBAを使いこなせれば社内のヒーローになれる

上記のようなことができれば、社内でヒーローになれますよ。特に営業、事務系の職場では引っ張りだこ状態です。上手くいけば作業時間9割減なんてこともありますから。

それだけエクセルVBAは強力なツールとして使えるんですよね。職場によっては仕事がなくなってしまい逆にうらまれてしまうかも・・・

こんなに強力なツールだけど世間一般の評価は低いですよね。「所詮マクロだろ。」「ボタンで記録するやつね」というようなちょっと馬鹿にしたような声を聞くことが多いです。

そういう人たちは上記のようなことができることを知らないんですね。エクセルの作業をちょっとラクにするツール。ぐらいにしか思ってないんですよね。

ちょっと悲しいですが、このブログを通してエクセルVBAは素晴らしいということを一人でも多くの人に知ってもらうために情報を発信していきます。

まとめ

いかがでしたか?今回の内容をまとめます。

  • エクセルVBAでできることはエクセル内の自動化だけではない
  • 他のアプリケーションと連携することでエクセルVBAの真の力を発揮できる
  • エクセルVBAで作業効率化ツールをつくることで大幅に作業時間を削減できる

以上おつかれさまでした~。

レクタングル大336×280
レクタングル大336×280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする