はじめよう!ExcelVBA

はじめよう!ExcelVBAを使った業務効率化!

どうも!ほっちるです!
これからVBAを勉強したいという方、業務でExcelを使っているという方へ、
VBAの基本知識とマクロ作成で使えるちょっとしたテクニックを紹介します!
では、ご存知の方も多いと思いますが、まず基礎についておさらいしましょう。

VBAとマクロ

VBAとはVisual Basic for Applicationの略で、マクロを作成するために使うプログラミング言語です。なので、混同してしまいがちですがVBAとマクロでは意味が違います!
マクロとはExcelの操作を自動化するためのもの、VBAとはそのマクロを作るときに使うもの、という風に覚えていただければOKです!

マクロで出来ること

マクロでは主に、Excelの機能を使った操作を再現することが可能です。
一度マクロを作成してしまえば、自分で操作を行わなくてもマクロが操作を代わりに行ってくれるので、操作の自動化をすることが出来ます!そのほかにも、以下のことが出来ます。

  • Excel上での計算、並び替え、フォント設定
  • ExcelWorkbookからのデータ抽出力
  • 新規Workbook作成

等々、Excelの持つ機能が使えます。Excelの持つ機能であまりイメージできなければ、リボンに表示されているような機能が使えると思っていただければ大丈夫です。それ以外にも、CSVやTXTファイルからの読み込みもできますが、それについては別の機会で触れていきたいと思います!

マクロの記録を試してみよう

マクロを作りたいけどVBAが分からない!そう思う方もいらっしゃるでしょうが、まずはExcelの機能の一つ「マクロの記録」を使ってみましょう。

開発タブをまだ有効化していない方は、「ファイル」タブからオプションに進んで、上記の画像のようにリボンのユーザー設定を開いてください。
開発欄のチェックが抜けている場合は、ここにチェックを入れましょう。これでマクロ関連の設定がしやすくなります!

では早速、マクロの記録を使って「A1」セルに入力されている「hoge」を「B1」セルにコピーするマクロを作ってみましょう。
簡単な処理ですが、マクロを使ってどういうことが出来るのかをイメージできると思います。

「開発」タブの「マクロを記録」を押下することで上記の画像の画面が出ると思いますので、ここでマクロ名などを入力しましょう。ここでは、試しに「hoge」と入力しています。「OK」を押下するとマクロの記録が始まります。

マクロの記録では実際に自分が行った操作を再現することが出来ます。
「A1」セルの「hoge」を、「B1」セルにコピー&ペーストしてみましょう。
そして「記録終了」ボタンを押下します。

マクロの記録が完了しましたので、開発リボンから「マクロ」ボタンを押して、上記の画面を出して実行してみてください。
実行してみると、「A1」セルの「hoge」が「B1」セルにコピー&ペーストされると思います。正確には、「A1」セルに入力された値が「B1」セルにコピー&ペーストされる、というマクロが出来上がっているでしょう。

最初は、この記録機能を使って、マクロでどういうことが出来るのか、どういう動きをするのか、といった部分を実感してもらえるとその後の学習もスムーズに進むと思います。次に、今後の学習を進めていく上でおすすめの考え方を紹介いたします!

コメントアウトを活用する

コメントアウトとは、簡単に言うとメモです。VBAでは「 ‘ (アポストロフィ)」を入力することでコメントアウトできます。しかし、実際の処理に影響しないのに、どうしてメモを活用?と思うでしょう。
プログラミングを行う上で大事なのは頭の整理と、どういった処理が必要なのか考えることです。いきなりコードを書く前に、どういう処理が必要なのかコメントを入れることで頭の整理が出来ますよね!

変数には分かりやすい名前を付けよう

プログラミングには変数というものが存在します。変数とはデータを入れておく箱のようなものとイメージしてください。処理の中で、保存したいデータを変数に格納(箱の中に入れる)することで、変数の呼び出し(箱の中から取り出す)をすれば再度そのデータを使うことが出来ます。そして、その変数(箱)には自分で名前を付けられます。名前を付けて保存、って感じですね!

変数は便利ですが、処理が少し複雑になります。プログラミングに慣れていないときは、何度も自分のコードを修正する場面があると思います。そんな時に、この変数はなんだっけ?といった具合に、まず自分の書いたコードの処理を思い出すことからやっていては時間が勿体無いですよね。それを避けるためにも、ある程度自分の中で変数に付ける名前にルールを設けましょう!

最後に

これからプログラミングが出来るようになりたい、そう考える方たちにとってVBAという入り口は個人的におすすめです。
IT業界に入っていきなりWebやシステム開発などを行う環境で働くことは稀だと思います。まずは、ExcelなどのOffice製品を使った事務的な仕事から入る場合が多いでしょう。そんな方たちにとって、VBAはどんなことが実現できるのかイメージがしやすく、入りやすい言語だと思います。

プログラミングは手段です。VBAの場合、Excel環境で業務効率化を実現したい!という目的を達成するために使える手段、という考え方ができます。プログラミングに限った話ではないですが、目的を見つけ達成しようとすることで技術は飛躍的に上達します。
IT業界に入りたてで、まだ事務的なことしかやっていない…という場合でも、VBAを学習してプログラミング脳を養うことで、こうすればもっと効率がいいんじゃないか?というアイディアが生まれ、それを実現する力が身につけられると思います。

それでは、次回はもっと技術的な面に突っ込んで記事を書いていこうと思います。読んでくれた皆さま、ありがとうございました!

作者情報
工場オペレータからエンジニアにジョブチェンジ! 白い巨匠の弟子として日々邁進中! 尊敬する先輩に奢ってもらうご飯やお酒ってとっても美味しいですよね!!