プログラム学習の第一歩! VBAの基本的な書き方入門
目次
こんにちは! 池島です。
最近友人に「業務効率化のためにVBAを学び、職場で使おうと思っている。教えてくれない? 」といった話をもらいました。
頼ってもらえるのは嬉しいですが、VBAに関して私は業務上あまり触ったことがありません。とはいえプロのエンジニアとして教えられることはもちろんあります。
今回は友人のように「VBAについて学習したいけど最初に何をやったらいいの? 」という方向けに「最初に何をやったらいいのか」をご紹介していきたい思います。
VBAとは
VBAとはVisual Basic for Applicationsの略で、Microsoftが提供しているMicrosoft Officeで実行できるプログラミング言語です。初心者の方は、マクロが作れるプログラミング言語くらいの認識で大丈夫です。
今回学ぶこと
「何をやったらいいのか」に対しての回答としては、やはり「Hello World」を作るべきと思います。プログラミング学習の第一歩として古典的なものですが、それでも学ぶことは多々あります。
今回は「Hello World」をExcel上に出力するマクロを作成します。その中で以下の3点を学んでいきます。
- モジュールとプロシージャの作り方
- Rangeの使い方
- マクロの実行方法
VBAを学ぶ準備
VBAはWordやPowerPointでも使用できますが、今回はよく使われるExcelで準備します。まずはExcelを開き、リボンのファイルを右クリックし、リボンのユーザー設定を押下します。
Excelのオプションが表示されるので、右側のリボンのユーザー設定内にある開発をチェックし、OKを押します。
これでメニューに開発タブが表示され、準備完了です。
モジュールとプロシージャの作り方
VBAはVBE(Visual Basic Editor)と呼ばれる画面で作成します。開発タブの左上、Visual Basicを押下してください。
VBEが開きます。まずはモジュールを作成します。モジュールはマクロを入れるフォルダのようなものです。VBAProjectを右クリックし、挿入→標準モジュールを選択してください。
まっさらなモジュールが作られました。
この中にマクロを作っていきます。下記の内容を入力します。
Sub Hallo_World() End Sub
このSubから始まり、End Subで終わる1つのマクロのことをプロシージャと呼びます。これでマクロの箱になるプロシージャが作り終えました。次は「Hello World」を出力する中身を作っていきましょう。
Rangeの使い方
RangeはVBA上でセルを指定する方法になります。書き方は下記のとおりです。
Range("A1")
これでA1セルを表します。セルにはいろいろな情報を持っています。例えば下記の通りです。
Range("A1").Value 'セルの値 Range("A1").Font.Size 'セルのフォントサイズ Range("A1").Interior.Color 'セルの色
今回はセルの値を「Hello World」にしたいので、先ほど作ったプロシージャ内に下記の通りプログラミングします。
Sub Hallo_World() Range("A1").Value = "Hello World" End Sub
A1セルの値に「Hello World」を入力する命令を書き、マクロの作成が完了しました。
マクロの実行方法
開発タブの左上、マクロを選択します。
先ほど作成したHallo_Worldが表示されるので、選択の上実効を押下します。
マクロが実行され、A1セルに「Hello World」が出力されます。
まとめ
いかがでしたでしょうか。
新しく言語の学習を始めると、学ぶことが無数にあります。しかし、一度に全てを吸収することは非常に難しいです。
プログラミングの学習は作らないと身にならないと考えています。簡単なものであってもまず作る。作った後に新しく吸収したことで新しい物を作る。その繰り返しでしかないと思います。
そして、VBAを使い業務効率化を考えている方がいましたら、最初からVBA全てをマスターすることを目指すのではなく、少しずつVBAの勉強をしながらも、今できることで何が効率化できるのかを考えてもらえればと思います。
それではまた!