Excel VBAでプログラミング入門【導入編】

このブログでは僕が作ったプログラムのサンプルとソースを掲載しています。

これは他の人の参考になればという意味もありますが、僕自身がどういうコードを書いたのかを思い出すためのメモというのがメインの目的です。ネットに繋がっていれば参照できるという便利なカンニングツールです。

たまに「こういう機能を追加したいのですがどうしたらいいでしょうか」といった応用の質問があります。「ここにコードを追加したらいいですよ」とアドバイスはしますが、直接コードを教えるということはしないようにしています。

僕がコードを教えるのは容易いですが、僕がいないと保守ができないようならばそのシステムは導入すべきではないです。冒頭で書いたように僕自身のために書いているブログなのでそこまで責任を負えません。

自由にアレンジして使っていただいてOKですが、機能追加や修正は自分でできるようにしてください。できないというのであれば努力してください。大した努力は必要ありません。Googleで調べればたいていのことはできるようになります。

そういうことをある程度プログラミングの知識がある人は理解しているかと思いますので、質問をしてくる人の多くは初学者か未経験の人だと思います。何をどう調べればいいのかわからないし、調べたところでどうすればいいのかわからないでしょう。

そこで僕が考えるプログラミング学習の方法を【導入編】【基本知識編】【実践編】の3記事に分けてお伝えします。

スポンサーリンク

何を作りたいか目標を設定する

やってしまいがちなのがテキストを買って読破するというスタイル。はっきり言ってこれはおすすめできません。

僕自身もテキストの最初数ページだけ進めて途中でやめたという経験があります。1冊読了したというのもありましたが、全内容のうち何%を覚えていることやら……。

あらゆる勉強に共通することですが、その時必要としていない知識は定着しにくいです。まずは何を作りたいのか目標を設定し、そのために必要となる知識を身につけることが近道です。

その目標を達成したらまた新たに目標を設定し、身につけた知識を使いつつ新しい知識を使ってその目標をクリアする。こうして知識を定着させていきます。

Excel VBAが初学者向きな理由

ただ、最初はプログラミングで何を作れるのかすらわからないので、目標を設定するという最初のステップが踏み出せないかもしれません。また、さまざまなプログラミング言語があり、言語を使い分けることでできることの範囲が広すぎるのも初学者にとってはしんどいかと思います。

最近はPythonが文法が簡単でできることも多いので入門に人気ですが、僕がおすすめするのはExcel VBAです。Excelには作業を自動化する「マクロ」という機能があるのですが、マクロを作成するためのプログラミング言語がVBAです。

Excelは個人の家計簿から企業で取り扱う書類まで、コツさえつかめば誰でも簡単に多種多様なデータを作れるソフトです。企業に就職して事務作業を任されると高確率でExcelのデータを触ることになります。

いろんな作業を経験しているうちに「この作業、時間かかるしめんどくさいなぁ……」と思う瞬間が出てきます。その作業をExcel VBAで自動化できると気付くことができれば、勝手にプログラミングの歯車は回り始めます。

Excel VBAはExcelのシート1枚の中で完結するような小規模な開発から始められてハードルが低いですし、Excelを使う人の中にはパソコン業務が苦手な人もいるのでちょっとしたことでも感謝されたりフィードバックがあってやり甲斐があります。

Microsoft 365とWindows PCを用意する

Excel VBAはExcelが入っているパソコンがあれば始められますが、注意すべきはExcelおよびMicrosoft Officeは無料ではないこと。

Microsoft Officeは一度お金を払って購入したら永久に使えるパッケージ版もありますが、おすすめなのは月額料金を支払うサブスクリプション型のMicrosoft 365です。

パッケージ版は最新バージョンがリリースされると買い直す必要がありますが、Microsoft 365であれば常に最新バージョンが使えます。また、OneDriveというクラウドストレージが1TBも使えるのでかなりコスパが良いです。

月額で支払うよりも1年分まとめて支払う方がお得です。また、公式サイトで支払うよりもAmazonで1年分のライセンスコードを買う方が少しだけ安くておすすめです。

使用するパソコンについては、MacでもMicrosoft 365は使用できますが、VBA開発を行うのであればWindowsがおすすめです。機能が限定されたり、VBE(コードを書くエディタ)が使いにくいといった支障があります。僕も5年程Macを使っていましたが、VBAを組むのに不便という理由でWindowsにメイン機を変えました。

VBAを習得するまでの経験談

僕が最初にプログラミングをやったのはVBAではなく、JavaScriptという言語でした。大学で卒業単位を稼ぐのに情報系の授業を取って、その中でJavaScriptを使いブラウザ上でアニメーションを作るという演習でプログラミングを初体験しました。

JavaScriptはウェブサイトで機能するプログラミング言語で、ChromeやFirefoxといったウェブブラウザとテキストエディタ(メモ帳でもOK)だけで作れるので開発環境を無料で簡単に用意できるのが特徴です。

大学を卒業し、就職した先に元エンジニアの人がいて、Excel VBAで作ったマクロのメンテナンスを引き継ぎ、その時に初めてVBAを知りました。この時はVBAを教わったり専門書で勉強したわけではなく、時間がある時にコードを1行ずつ調べながら理解していきました。

VBAのことをなんとなく理解してきた頃に、自身が任されていた業務について「VBAで自動化できるんじゃないか」とひらめいて作ったのが最初のマクロです。かなり簡単な内容でしたが、それでも作業の効率化に繋がりました。それからいろんな作業をVBAで自動化していき現在に至っています。

僕がすんなりVBAを身につけることができたのは、学生時代にJavaScriptを習った時に知ったプログラミングの3つのルールを知っていたからです。そのルールさえ知っていれば、Googleで調べながら進めていくだけで作りたいものができあがると、僕の経験から言えます。

その3つのルールとは何かということを、次回の記事で説明します。

コメント

タイトルとURLをコピーしました