プログラミング初心者がExcel VBAを使いこなすには?
公開日:2019年11月2日
皆さんが普段仕事で使用しているExcelと最もマッチしたプログラミング言語がVBA(Visual Basic for Applications)です。
経理や人事総務といった事務作業用のExcelツール開発でもVBAが使用されることは多く、開発者ではない事務職の方もマクロ記録機能を使って、作業自動化していることも少なくありません。
このようなVBAはプログラミング初心者の方にはオススメできるプログラミング言語の一つです。
私は文系出身で元々は経理や人事総務など事務職でプログラミング未経験でしたが、派遣社員として様々な仕事を経験しITスキルを伸ばした結果、現在はプログラマー、SEとして働けるようになりました。
このような私もプログラミング学習はVBAから始めました。
そこでこのページでは、VBAプログラマー、SEの立場からプログラミング初心者の方がExcel VBAを使いこなせるようになるために何を行えばよいのか、についてコメントします。
プログラミング初心者がExcel VBAを使いこなすには?
目次
1.Excel VBAプログラマー、SEに求められること
Excel VBAを使いこなすと言っても、「どの程度」使いこなすのかについては、皆さんが思い浮かべるイメージは様々だと思います。
ITエンジニアには様々な役割がありますが、ここでは「プログラマー」と「SE(システムエンジニア)」の2つの役割に焦点を当てます。
プログラマーとは、プログラミング言語を用いてシステムやアプリケーションに必要な機能を実現するためのコードを記述する役割を担う人をいいます。
SE(システムエンジニア)とは、システムやアプリを依頼してきたクライアント(エンドユーザー)とコミュニケーションを取りながら、どのようなシステム・アプリにするかを決め、要件定義書や設計図といったドキュメントにして、プログラマーに指示し、期限までにシステムやアプリを完成させて納品する人をいいます。
そこでまずはExcel VBAプログラマー、SEに求められることについて説明します。
1-1.Excelを使いこなせる
Excel VBAの目的は、VBAとうプログラミング言語を使ってExcelで行う作業を自動化することです。
従ってExcelにはどんな機能があるかを知っていてExcelを使いこなせることは、VBAでExcel作業の自動化を実現させるポイントの1つといえます。
Excelの機能の「一例」を挙げると次の通りです。
- ・SUM,IF,VLookupを始めとする豊富な関数
- ・グラフ、ピボットテーブル
- ・フィルター機能
- ・条件付き書式、入力規則、名前定義
- ・ブック、シート保護
このようなExcel機能を組み合わせて、またVBA上で自動化させることで、事務作業の効率化を図れますが、「上手く」組み合わせることがVBA開発の肝になるため、開発者はExcel自体の機能を使いこなせることが良いVBAプログラマー、SEの条件の1つといえます。
1-2.VBAを使いこなせる
当たり前かもしれませんが、Excel VBAのプログラマーであればVBAというプログラミング言語を使いこなせる必要があります。
SEもVBAの特性を知っていなければ設計できませんし、詳細な設計書はVBAコーディングに詳しくなければドキュメント化できません。
ITエンジニアとしてのレベルが高くなると、1つの動作に対して複数のコーディング手法があることを熟知しており、より適切なコードを選択して書けるし、関数やピボットテーブルなどExcel機能との組み合わせを上手く使って開発します。
1-3.事務作業に詳しい
開発の対象となる事務作業に詳しいことも良いプログラマー、SEの条件といえます。
Excelという事務作業で最も使用されているアプリケーション(オフィスソフト)であればなおさらです。
事務作業に詳しければ作業者の視点で開発できます。これはすなわち、「ユーザビリティ」を配慮した開発に繋がります。
1-4.連携システム、アプリケーション、関連するプログラミング言語に詳しい
同じExcelファイルとの連携が最も多いですが、他にもAccess、データベース、Webシステム、人事や会計システムなど、様々なシステム、アプリと連携して事務作業は成り立ちます。
VBAプログラマーやSEにはこのような連携を理解し、適切な設計やコーディングを行うスキルが求められます。また、そのようなシステムやアプリと連携するためにはVBA以外のプログラミング言語も知っておく必要があります。
例えばWebシステムとExcelとの連携であれば、VBAによるIE(Internet Explorer)の操作コーディングを知っている必要があります。また、AccessやOracle DBなどのデータベースに接続が必要な場合には、接続するためのコーディングやVBA以外にもSQL言語に詳しい必要があります。
1-5.業務フローや業界、法令に詳しい
開発対象となる事務作業だけでなく、チームや部署、さらに広い会社といった、より大きな範囲で考えることで「全体最適化」に貢献できるシステムやアプリを開発できます。
このような大きな「マクロ視点」で考える際に必要となるのが、業務フローや業界、法令に関する知識や経験です。
特にSEはどのようなシステム・アプリにするのか考える役割を担うため、マクロ視点で現状の問題点や課題、そして解決策を検討できれば、よりクライアントに貢献するシステムやアプリを開発できます。
業務フローや業界、法令に詳しければ、より広範囲にかつ緻密に正確に検討して開発に結びつけられるといえます。
2.プログラミング初心者がExcel VBAプログラマーになるには?
以上は「Excel VBAを使いこなす」を広い意味合いに捉えて説明しました。
そこで今度は「Excel VBA」だけに焦点を絞って、どのようにすれば使いこなせるようになれるか、を説明します。
2-1.VBA入門サイトで学習する
VBAは使い勝手のよいプログラミング言語であり、使い手も多いことから質の高い入門サイトが多く存在します。
書籍もたくさんありますが、まずはVBAの入門サイトで学習することをおすすめします。
初学者にVBAをおすすめする理由の1つ
もし入門サイトが合わないようであれば下記のようなVBAの入門書を2,3時間位で時間をかけずに読み進めるとVBAの導入部分を具体的に理解できます。
2-2.VBAツールを作ってみる
入門サイトのサンプルコードなどを参考にしながら、実際にExcel VBAを書いてVBAツールを実行させてみましょう。
いくつか作っていくとコツもだんだん分かってきます。
2-3.VBA文法を学習する
体系的に文法を学んでいない状態では、入門サイトや書籍を読んでも理解できない部分があるはずです。
また、サンプルコードの真似はできても、応用力を伸ばせません。
そこで次にVBAの文法書で学習します。
おすすめする書籍は「VBAエキスパート公式テキスト」シリーズです。
他におすすめするVBA文法書はないと言える程、他の追随をゆるさない良書で文法書として最適です。
資格取得をゴールにすると力を入れて勉強できるため、より効果的に文法を学習できます。ま仕事探しにもVBAが分かっている証明になって有利なため、文法の学習と併せて「VBAエキスパート」の資格取得を目指すことをおすすめします。
3.VBAプログラマーになるリアルな近道
実際にExcel VBAを使いこなすようになるには、VBAプログラマーとなり現場で開発者として実務経験を積むことです。
そして、VBAプログラマーとして働くための最も現実的な近道は、「派遣社員として働きながら上記に記載したスキルを磨けるような仕事にチャレンジしてスキルアップすること」です。
例えば、現時点ではExcel基本操作とSUMやIFなどの簡単な関数しかマスターしていなければ、よりたくさんの関数を使用するような派遣の仕事でスキルアップします。
派遣は契約期間があるため、様々な仕事を選択して仕事できるのがメリットです。
その他にも次のような理由からVBAプログラマーになるのには派遣社員として働くことが最適といえます。
3-1.VBAの案件は派遣の仕事サイトに多い
VBAはExcelなどの既存のアプリに機能を追加する「ツール開発」という位置づけで使用されます。
従って、継続的に開発し保守運用するという他のプログラミング言語によるシステムやアプリ開発と異なり、より期間を絞った案件になる傾向があるのです。
その証拠に、下記は派遣の仕事探しサイト「はたらこねっと」プログラミング言語をキーワードとして日本全国を対象に単純検索した結果を一覧表にしたものです(2019年10月6日現在の結果より)。
プログラミング言語 | 案件数 |
---|---|
VBA | 456 |
Java | 665 |
JavaScript | 717 |
PHP | 497 |
Python | 357 |
VB.NET | 322 |
RPA | 186 |
一方、「リクナビネクスト」より単純にプログラミング言語で正社員の案件を日本全国を対象に単純キーワード検索した結果は次の通りです(2019年10月6日現在の結果より)。
プログラミング言語 | 案件数 |
---|---|
VBA | 115 |
Java | 1,014 |
JavaScript | 643 |
PHP | 851 |
Python | 490 |
VB.NET | 201 |
RPA | 314 |
以上の通り、「はたらこねっと」ではVBAは他の人気あるプログラミング言語と遜色ない案件数が掲載されていますが、「リクナビネクスト」では案件数が少ないことが分かります。
以上から、VBAの仕事は派遣に多いことが分かります。
3-2.現在の日本の情勢とマッチする
派遣の仕事は、少子高齢化、働き方改革、2050年問題、といった現在の日本の情勢を示すトレンドワードともマッチします。
例えば、働き方改革の3つの柱は「長時間労働の改善、非正規と正社員の格差是正、高齢者の就労促進」ですが、他の雇用形態と比較して、派遣社員が最もこれら3つの柱に合致している雇用形態と考えられます。
3-3.派遣法の改正による影響
上述の日本の情勢にマッチするよう、最近10年ほどで派遣法は改正されてきました。
その改正の1つに「キャリア形成支援制度」があります。
これは正社員と比較して段階的なキャリアアップの機会が少ない派遣社員を対象にして、派遣会社が派遣社員のキャリアアップ形成を支援する制度を構築運用を義務化したものです。
私も派遣の仕事を通じて、未経験の事務職から段階的にITスキルを伸ばして現在はVBAプログラマー、SEとして働くまでになりましたが、今振り返って考えると私もこのキャリア形成支援制度の恩恵にあずかった1人なのだと思います。
まとめ
以上、VBAプログラマー、SEの立場からプログラミング初心者の方がExcel VBAを使いこなせるようになるために何を行えばよいのか、についてコメントしました。
「Excel VBAを使いこなすには様々なスキルが要求される」「派遣の仕事で足りないITスキルを伸ばすことがVBAプログラマー、SEになるための近道」ということが上手く伝わりましたでしょうか。
この記事が皆さんのお役に立てば幸いです。
最後までお読み頂きましてありがとうございました。
10冊まで同時に読み放題の電子書籍サービス(200万冊以上が対象)。
PC・ITカテゴリーの対象数は7,000以上。
スキル、ノウハウ吸収や話題作りにと、ライフ・クオリティを高めてくれます。