見出し画像

マクロとVBAの違いわかりますか?

学習したいとは思っていても、普通の人にはなんでやる必要があるのか、いまいちわからないのがマクロとVBA、簡単に説明します

マクロとは

Excelの操作を自動記録する機能です。毎日、ほぼ同じ作業を行っているときなど、その操作を記録して登録できる便利な機能です。記録したマクロを実行すれば、めんどくさい手作業を自動化できるというわけです。

良くあるのは、「夕方に特定のファイルを読み込んで、その一部をExcelにコピペ、レポートを印刷して保存」というような場合、これはマクロで書くと簡単です。

このマクロって機能はExcelの前にメジャーだったロータス123ってソフトに搭載されていた機能なんですよね。後から発売したExcelにも当然、同じような機能を搭載したっていうことなんですよ。

VBA (Visual Basic For Application) とは

なので最初はExcelもマクロしかなかったんですが、それを拡張するようにできた言語がVisual Basicなんです。結局、マクロはVisial Basicというプログラム言語を自動生成する機能になったという感じです。

MicrosoftがWindows用のプログラミング言語として作ったのがVisual Basicで、ExcelやAccessなどのアプリ用に使いやすくしたものがVisual Basic For Application (VBA)です。機能的には「マクロ < VBA」 なんですけど、本質的には同じです。

VBAは言語なので、専門的に書くほどに複雑な事ができるのですが、誰もが使えるのがExcelの最大のメリットであり、VBAを使うほどの重作業をしているExcelユーザーはそれほどいなく、実際に使ってる人はそれほどいないです。

私は「クオンツというデータを大量に扱い、計算し、資料も作るような仕事」をしていたので、それなりに複雑なものを書いてきましたが、そういう職業の人でなければ学習する必要はあまりない気がします。

実用的な使い方

一番ありがちなのは、ステップの多い手作業を複数に分けて自動マクロで記録しておき、最後にVBAで3つのステップを実行する短いプログラムを買いたりすることです。

またファイルを開く例だと、ファイル名に日付が含まれており、毎日ファイル名が変化する場合などで、ファイル名の部分だけVBAで書き加えたりします。

これらの作業は、すぐ学習できます。Excel VBAの初心者向けの書籍でも学習できるし、Youtubeでも普通のネット検索でも解説している人はかなりたくさんいます。

本当の上級者は

VBAがプログラムという性質上、Excelでできる殆どのことがVBAで記述することができます。ただ、その作業は上級者にまかせれば良いのです。

この記事が気に入ったらサポートをしてみませんか?