Excelマクロ・VBA 学習のはじめに
この記事はSEでない同僚に対してExcel自動化講座を行った際の導入部分の内容です。
マクロ・VBA習得メリットと適切な場面
マクロを利用するとExcelで何度も繰り返し行う作業を
自動化(例えばボタン押すだけで完了)出来るようになります。
またSUM関数のような関数を自作することも可能です。
マクロは非常に強力な機能ですが、プログラミング言語の習得になるため
ハードルもまた非常に高いです。
Excelはマクロ・VBA以外にも高性能な機能が沢山ありますし、
セキュリティ面の制約もあるためIF関数やXLOOKUP(VLOOKUP)関数、
ピボットテーブルを先に習得し、それでも解決できない場面でマクロ・VBAを検討すると効率的です。
また初めてプログラミング言語を勉強してみたい人には最適な言語の一つです。
プログラミングが初学者向けの言語と特徴
言語 | メリット | デメリット |
---|---|---|
マクロ VBA | ・Excelと教材があれば 学習できるため手を出しやすい。 ・事務職で高評価 | ・利用箇所がExcelに限られる。 ・IF関数などを使いこなせれば 利用しないことも多い |
Scratch | 児童の学習向けの言語のため、 最も習得しやすい。 | 実務利用が難しい |
CASLII | ITを身に付けたい文系学生さんに 最もおススメ。(資格試験も含め) | 基本情報技術者試験専用の 仮想言語のため実務利用不可 |
Ruby | Excelに留まらないため 実務利用では最も範囲が広い。 | プロ用の開発言語なため この中では最も習得が難しい |
マクロとVBAの関係
Excelの世界では同じと考えて構いませんが、
厳密には「マクロは作業を自動化するための機能」で
「VBAはマクロを記述するプログラミング言語」です。
なおVBAは「Visual Basic for Applications」の略です。
業務のマニュアル・手順書を書ければ習得可能
プログラミングと聞くと難しく感じますが技術者になるつもりはなく、
Excelの業務効率化に留まるのであれば必要な物はITの知識ではありません。
ITよりも業務のマニュアルや手順書、引き継ぎ書などを書いた経験の方が重要です。
その内容をExcelというソフトが解釈できる言葉(VBA)で書くことが
マクロ・VBAで自動化することなのです。(より詳細な記述になりますが)
例えば
・Sheet1のA2にセルに「=SUM(A3:A10)」を入力
・Sheet1のA2にセルをコピー
・Sheet2のA1にセルを値貼り付け
といった細かい粒度で必要な手順の記述を積み重ねていくのが
プログラミングという作業になります。
もしマニュアルなどを書いたことがなければ
マクロ・VBAの前に経験することをお勧めします。