多くの社会人が、Excelを業務で使っているかと思います。
Windowsのパソコンを使っていればほぼ間違いなくExcelがインストールされていますが、実際にエクセルをちゃんと使いこなせている人は多くありません。
Excelを日頃から仕事で使っているよという人であっても、関数はどうにか使えるが、それ以上となるとちょっと難しい、、、という人が多いかと思います。
エクセルの自動化、などの話は聞いたことがあっても、実際にそこまで手を出せていない、どうやって手を出したらいいか分からないという声をよく聞きます。
エクセルの自動化というと難しく聞こえますが、その実態はそんなに難しい話ではありません。
そして、そんなに難しいことではないのですが、その効果は非常に大きいです。
毎日1時間かけていることが、10秒で終わるようになることもあります!
つまらない作業はできるだけ短く、素早く終わらせたいと思いますが、そのためにはエクセルの自動化を行っていく必要があり、その際に必要となるのがVBAです。
今回は、「VBAって何?」という人のために、VBAとは何か、VBAを使うと何ができるのかについて説明していきます。
それと同時に、実際に仕事で使うためにはどのようにVBAを勉強したら良いのかという点についても詳しく説明していきます!
VBAとは何か
VBAとは何かですが、その前に「マクロ」について説明をしておく必要があります。
マクロとは、エクセルの自動化の機能のことを指します。
たとえば、エクセルのシート1の1列目をコピーして、それをシート2〜シート10まで貼り付ける必要があるとします。
普通の人であれば、シート1の1列目をコピーし、シート2にうつりそれを貼り付け、次にシート3に移り貼り付け、、、、といった具合に進めると思います。
ですが、エクセルのマクロという機能を使うと、この部分を自動化することができます。
簡単にいうと、ワンクリックでこの作業を一瞬で行えます。
今回の例であれば手作業でやってもそんなに時間がかからないですが、なんとなく自動化についてのイメージはできたかと思います。
よく「マクロ」という言葉を聞くと思いますが、簡単にいうとこのような自動化のことです。
エクセルの自動化の機能のことをマクロと呼ぶんだなぐらいの認識で大丈夫です。
ここからが本題ですが、VBAとは一体何なのでしょうか。
それは、エクセルの自動化をするために必要な道具です。
先ほどワンクリックで自動化が発動するというような話をしましたが、そのためには準備が必要です。
あらかじめどのような自動化を行うのかという手順を設定しておく必要があります。
先ほどの例でいうと、ワンクリックしたら、「シート1の1列目をコピーし、シート2に貼り付け、、、、シート10に貼り付けたら終了」という手順です。
その手順を記述するために必要なのがVBAです。
VBAであらかじめ自動化の手順を記述することで、ワンクリックで自動化を発動させられるようになるのです。
VBAは、「エクセルを自動化させるための記述を書くプログラミング言語」といったところです。
プログラミング言語と聞くと、エンジニアでない人にとっては難しく感じるかもしれませんが、実際にはそんなに難しくありません。
全く身構える必要がないので安心してください!笑
とにかく、VBAはエクセルを自動化させるために必要なものなんだな、ぐらいの認識で最初は大丈夫です!
VBAを使ったらできることは何か?
ここまでの説明を読んでいただいたら分かるかと思いますが、VBAを使ったらできることはすなわちExcelの自動化です。
もちろん、VBAは万能薬ではありませんので、全てを自動化できるわけではありません。
VBAで自動化できるのは、「あらかじめあなたが手順を考えられる作業」です。
先ほどあげたコピーの例は非常に簡単でしたが、あのように手順を実際に説明できるようなものであれば何でも自動化できます。
このようなばあこのような場合には名前の後に「さん」をつけるなどの作業であっても、そのルールが決まっていればVBAを使うことで自動化できます。
逆に自動化できないことは、「人間の主観による判断」が必要となってくる部分です。
先ほどの、名前の後ろに「さん」をつけるという簡単だけれども面倒臭い作業について考えてみましょう。
もし単純に全ての名前の後に「さん」という敬称をつけるのであれば非常に簡単です。
もしくは、kind(種類)がcustomer(顧客)となっている人のみに「さん」をつけるというのも、ルールが決まっているのでもちろん自動化できます。
ですが、もしあなたが尊敬する人には「さん」をつけるというような作業はVBAを使って自動化することはできません。
(もちろんこんな作業は通常ありえないですが、分かりやすさのためにこんな例を取り上げています、すみません。)
このように、基本的にVBAを使えばエクセルでのあらゆる作業は自動化できますが、人間の主観で判断するようなものに関しては、VBAでどうこうすることはできません。
ですが、ルールを決められるのであれば、VBAを使って自動化することはできます!
以上がVBAでできることについての説明です。
かなりざっくりとした説明になってしまいましたが、これに関してはVBAの勉強を少し始めれば見えてくる部分なので、そんなに心配する必要はありません。
とにかく言いたいのは、VBAを使えば日々の無駄な作業時間を削ることができるので本当におすすめだということです。
エクセルの作業時間が多い人や、エクセルが苦手だという人にはぜひVBAを学んで欲しいです。
続いては、VBAの勉強方法について説明していきます。
VBAの勉強方法とおすすめの本
VBAをどのように勉強するかですが、基本的には本での勉強がおすすめです。
もし周りにVBAを触っている人がいるのであればその人に学ぶのがいい方法ですが、そうでないなら本一択になるかと思います。
VBAを学ぶ本は多く出版されていますが、間違っても難しい本を選んではいけません。
今までVBAを触ったことがない人にとって、いきなり難しめの本で勉強を始めようとすると挫折してしまう可能性が高いです。
初めてVBAを勉強するなら「入門者のExcel VBA」という本が非常におすすめです。
この本はそのタイトル通り、VBA入門者に向けて書かれた本です。
他のVBAの本に比べると説明が格段に分かりやすく、この本からVBAの勉強を始めたら挫折することはないと思います!
他のVBAの本に比べると本の厚さは薄いですが、説明は十分すぎるほど分かりやすく書かれているので、VBAを学び始める1冊目としては非常におすすめできます。
「入門者のExcel VBA」を読めば、VBAの基本は抑えられると思います。
ですが、「入門者のExcel VBA」一冊だけだと多分実務で使ううえで物足りないと思うので、可能だったらそれにプラスして「Excel VBAの教科書」という本もやったほうがいいと思います。
こちらは、VBAの脱初心者を目指す人向けに書かれた本で、「入門者のExcel VBA」を読み終わった人にとってはちょうどいいレベル感です。
この「Excel VBAの教科書」を読み終えれば、実務でVBAを使って、Excelの色々な作業をどんどん自動化させることができるようになります。
もし仕事でVBAを使うとなったら、「Excel VBAの教科書」までを終わらせることを目安にするべきです。
逆にいうと、「Excel VBAの教科書」を読み終えれば、VBAをほぼマスターしたと言っても過言ではありません。
VBAと聞くと難しいというイメージを持つと思いますが、実際は本を2冊読めばだいたいの基礎は身につきます。
それでいて実際に使った時の効果(Excelの自動化による仕事時間の短縮)はびっくりするほどです。
これほど投資対効果の高いものはあまりありません。
Excelを使う社会人であれば、VBAはできるだけ早い段階で身につけておきたいスキルです。
また、一度身につければ一生使えるスキルでもあります。
ぜひこの機会にVBAの勉強を始めてみましょう!