VBA講義室 > マクロとは何か? > マクロで何が出来るのか

マクロで何が出来るのか

どのように使っているの?

マクロを利用することの最大の目的は・・・

これらの恩恵として業務効率の改善を期待することが出来る。
一般論としてどのように業務効率化が図れるかを論じるのは難しいが、マクロは次のような機能を期待して利用することが多いだろう。

操作を記録して再現する

マクロの利用のその第一歩は「マクロの記録」の利用である。

これにより、ユーザーが行ったExcelに対する操作を記録することが出来る。記録しておいたマクロを実行すると、操作を再現できる。同じ操作をより少ない手順で実行することができるというわけである。

ただし、マクロの記録を利用する場合、それはユーザーの操作をそのまま記録したものになる場合が多く、融通性に欠ける場合がある。

記録したこと以上のことをさせる

記録されたVBAコードを編集したり、また、記録場所(モジュール)へ直接VBAコードを記述することで、記録だけではできない動作を実現することができる。

集約


例えば・・・・
ばらばらに記録したマクロはそれぞれ別個に実行しなくてはならない。しかし、これらを一つのマクロとしてまとめてしまったり、或いは、ばらばらのマクロを順番に実行させるマクロを書いて、一連の動作を行う一つのマクロとすることが出来る。

融通性/拡張性


記録したマクロに手を加えることで、記録だけでは実現できない機能を実現することができる。
たとえば・・・・

など。

実行の自動化


マクロ記録したものについてはExcelから「マクロの実行」であったり、ボタンなどに登録したりしてユーザーが実行の操作をするのが普通であるが、マクロの実行そのものを自動化することも出来る。

たとえば、エクセルで次のような動作の時、自動的にマクロを実行するようにもできる。

・・・等々
これらはイベントと呼ばれ、エクセルで起こった変化、またはユーザーが行った何かの動作である。それらをきっかけとしてマクロを実行するので、ユーザーが意識せずにマクロを実行させることも可能である。

他のアプリケーション制御


ある程度制限はあるが、他のアプリケーションを制御できる。
とくにOffice製品はExcelと同じくVBAを利用しているので、ExcelからWordやAccessを制御したり、あるいは、その逆のことをしたりすることも可能である。

ユーザー定義の関数を作成する


ワークシート関数では実現できないような計算をVBAを利用して独自の関数を作成することが出来る。ワークシート関数を複数組み合わせて計算できるような場合でも、ユーザー定義関数として登録しておけば簡略な関数名で入力が可能となるので、入力を簡素化できる。

独自のダイアログボックスを作成


Excelを使ってデータを記録していく作業は良く行われているが、その入力を補助する目的でユーザーフォームを利用して独自のダイアログボックスを作成したり、ワークシートをデータベース作成のフォームとしてデザインすることができる。

要するに・・・

マクロというものはExcelに「いくつかの作業をまとめて(半)自動的にやらせてしまう」機能である。毎日手作業でひたすら同じような作業を繰り返している方には、ぜひともお勧めしたい機能である。

ただし・・・・

「マクロの記録」だけではなかなか思うとおりには自動化できない。
「記録した以上のことをさせる」・・・思うようにマクロで仕事をさせるためには、ある程度記録したマクロをカスタマイズする技術、つまり、あなたがExcelにやってほしい仕事の手順をExcelに教え込むVBAの言語能力が必要になってくる。それがマクロの難しさでもあり、また、面白さでもある。


前(マクロとVBA) 目次 次(何から始めたらよいか)


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送