VBAを勉強する方法と手順を解説!学習に役立つ書籍やサイトも複数紹介
VBAを勉強する際のおすすめの方法としては、書籍・学習サイト・学習用動画・スクールやオンライン講座の活用があります。基礎的なルールや処理方法を理解できれば、使っていくうちに右肩上がりでVBAの習得が進むでしょう。
本記事では、VBAの勉強方法を中心に、勉強する手順、おすすめの書籍・学習サイトについて紹介していきます。VBAを習得したいと考えている方は必見です。
目次
目次を閉じる
「VBA」と「マクロ」の関係
VBAは、Visual Basic for Applicationsの略で、Office製品全般に標準搭載されているプログラミング言語です。一方マクロは、アプリケーションを自動で制御する機能のことです。例えば、Excelの「グラフ機能」や「オートフィルター機能」はマクロのことです。
つまり、マクロとはアプリケーションを決まった手順で自動制御する機能の総称で、VBAとはユーザーが独自のマクロを作るためのプログラミング言語で、マクロ言語とも言います。
VBAはExcelで使われることが多いためVBA自体がExcelの機能と思われがちですが、そうではなく、VBAはMicrosoft Office製品全般に標準搭載されています。
したがって、Excel以外にも、Word、PowerPoint、Access、Outlook、Microsoft EdgeなどでもVBAでプログラミングすれば機能の拡張ができ、効率よく業務をこなすことが可能となります。
VBAを勉強する方法
VBAを勉強する場合、いくつかおすすめの方法があります。自分に合った勉強方法を選択しましょう。
基礎をしっかりと固めて、順を追ってじっくり勉強を進めたい人は、書籍を活用することをおすすめします。何事も基礎知識が大切です。基礎から進めていけば、先々も壁に当たることは少なくなります。
VBAの勉強を手軽に始めたい、まずはVBAを動かしてみたい、そのように考えている人は、インターネット上の学習サイトを活用することをおすすめします。インターネット上にはVBAの学習サイトがたくさんあり、有効活用できます。
空いているスキマ時間にVBAの勉強を進めたい人は、学習用の動画を活用することをおすすめします。学習用の動画なら、自分の都合の良い時間に勉強ができます。
疑問点や分からない点などを有識者にサポートしてもらいながらVBAの勉強を進めたい人は、スクールやオンライン講座を活用することをおすすめします。
どの方法が良いか正解はありません。大切なのは途中で挫折しないようにVBAの勉強を続けられる方法を選択することです。
書籍を活用する
基礎知識から順を追って勉強したい場合、書籍の活用をおすすめします。
書籍の良いところは、各単元が勉強しやすい順序に並べられており、VBAの知識を体系的に学べます。手元においておけば辞書代わりになるため、先々も重宝するでしょう。
VBAはOfficeがインストールされたパソコンであれば手軽にプログラミングできます。そのため、実際に書籍を読みながらプログラミングしてみて、どのような動きになるのか自分で確かめながら勉強を進めていけるような書籍がおすすめです。
基礎知識やプログラミングの考え方など、理論ばかりを説明した書籍だと読んでいても楽しくないため、すぐに飽きてきて挫折してしまいます。
VBAはプログラミング言語なので、基礎知識を理解しつつ、実際にプログラムに触れて体験しながら勉強していくと高い学習効果を得られるでしょう。
学習サイトを活用する
VBAを動かしながら勉強を進めたい場合、学習サイトを活用することをおすすめします。
インターネット上にはVBAの学習サイトがたくさん存在しており、VBAの勉強を無料で手軽に始められます。
VBAの入門者を対象にした入門サイトや、やりたいことをプログラムで実現するにはどのようにすればよいのかを解説した逆引きのサイトなど、さまざまなサイトがあり、用途に応じて利用できます。
プログラミング経験者であればVBAの入門サイトで勉強を進めていけば、VBAの基礎知識からプログラミング技術までを学習サイトから習得することも可能です。手軽に無料で学習できる良い方法だと言えます。
VBAの書籍を購入することを考えている人は、まずはVBAの入門サイトで勉強を始めてみるのもおすすめです。
学習用の動画を活用する
空いているスキマの時間でVBAの勉強を進めたいと考えている場合、学習用の動画を活用することをおすすめします。
動画はパソコンがなくても、スマートフォンさえあればいつでもどこでも勉強できます。YouTubeにも無料でVBAの基礎知識やプログラミングについて紹介した動画が公開されているので、チェックしてみてはどうでしょうか。
ただし、プログラミングの勉強は動画を見たり聞いていたりしているだけでは、なかなか理解できません。実際にプログラミングし、動作させてみて理解していく部分が大きいためです。
したがって、動画を見ながら実際にVBAのプログラミングを進めていけば、だんだんとVBAのことが理解できるでしょう。1度で分からなければ、何度も繰り返して実技経験を積んでいきましょう。
慣れてきたら自分なりのアレンジを加えてみたり、別の要素を組み合わせてみたりして試していけば、よりVBAの理解が深まります。
スクールやオンライン講座を活用する
VBAのコツや疑問点・不明点などを有識者にサポートしてもらいながらVBAの勉強を進めたいと考えている場合、スクールやオンライン講座を活用することをおすすめします。
スクールやオンライン講座で勉強する場合、注意点が3つあります。
・覚えることは最小限にする
・プログラミングしながら勉強を進める
・理解したことをプログラミングで実践してみる
この3つを意識していないと、せっかくスクールやオンライン講座に授業料を払って入会したのに身につかなかった、という結果に陥ってしまう可能性があるでしょう。
覚えることは最小限に抑える
VBAを勉強する場合、まずは覚える量は最小限に抑えておくことをおすすめします。
なぜなら、最初からたくさん覚えようとすると理解が追い付かず、勉強を続けていくことが苦しくなるからです。プログラミングは本来楽しいものです。楽しくプログラミングを進める上では、VBAの1から10までをすべて理解する必要はありません。
最終的には10まで理解することを念頭に置きつつ、まずは、必要最低限のことから理解していくスタンスで始めた方が、VBAの勉強を継続していくことができます。
プログラミングしながら勉強を進める
VBAはプログラミング言語なので、プログラミングをやりながら基礎知識の勉強を進めることをおすすめします。
実際に自分でプログラムコードを書き、プログラムを実行させてみると、実感として理解できるため、覚えも速く、楽しく勉強を進めることができます。
また、プログラムコードを間違えてエラーが出たり、思っていた動きと違った場合など、どこに問題があるのかを自分で調べて修正していくことで、自然とVBAの知識が身についていきます。
実体験の経験を積み重ね、VBAプログラミングに馴染んでいくことが大切です。
理解したことをプログラミングで実践してみる
VBAを勉強して理解したことをすぐにプログラミングで実践してみることをおすすめします。
スクールやオンライン講座の受講が完了すれば、VBAが完璧になるかと言われると、そうではありません。自分自身で実践して経験を積んでいくことで、理解が深まってきます。
スクールやオンライン講座で学べることは、基礎知識であったり、VBAプログラミングの入り口であったりするので、せっかく学んできたことを活かす意味でも、実践経験を積み重ねていく必要があります。
例えば、自分の業務の中の一部をVBAで自動化してみるところから始めてみては如何でしょうか。1つ1つの積み重ねが、大きな知識や経験になるので、実践を継続していきましょう。
VBAを勉強する手順
ここでは、VBAを勉強する手順について詳しく説明していきます。
一通りの手順を経験すれば、VBAプログラミングがどのようなものなのか、どういう風にプログラミングを進めていけばよいのか理解することができます。
手順が多いように思えますが、重要な内容なので1つ1つ理解しながら進めてください。
Excelを開きVBA・VBEの準備を行う
ここでは、Excelを開いてVBEを表示する手順を説明します。
VBEとはVisual Basic Editorの略で、VBAの統合開発環境のことです。統合開発環境とは、プログラムを記述するエディタ(メモ帳のようなもの)、コンパイラやデバッガ(プログラムを実行する機能)、その他の開発支援ツールなどが合わさったものです。
1. Excelを開く
2. Excelに開発タブを追加する
・Excel 2010の場合、「ファイル」-「オプション」-「リボンのユーザー設定」で、右側にある「開発」にチェックを入れる
・Excel 2007の場合、左上の「オフィスボタン」-「Excelのオプション」-「基本設定」-「開発タブをリボンに表示する」にチェックを入れる
3. VBEを表示する
・開発タブの「Visual Basic」をクリックするか、ショートカットキー「Alt + F11」を押す
基礎的なルールを理解する
ここでは、VBAのプログラミングをする上で必要となる基礎的なルールについて説明します。
1. プログラムは上から下に1行ずつ実行される
VBAは基本的には書かれているプログラムを上から下に向かって、1行ずつ実行していきます。プログラミングをする際は、実行させたい順に上からプログラムを記述していきます。
2. プログラムの基本は「順接」「ループ」「分岐」の3種類
プログラムは大まかには、上から順番に実行していく「順接」、指定した条件が成立するまで同じ処理を繰り返す「ループ」、指定した条件の成立/不成立によって処理を枝分かれさせる「分岐」の3つの組み合わせでできています。
3. プログラムはプロシージャ内に記述する
プロシージャとは、プログラムの処理の単位のことです。プログラムはプロシージャの枠の中に記述する必要があります。プロシージャの大きさ(プログラムの行数)は作る人が決めるので自由です。VBAには3種類のプロシージャ「Subプロシージャ」「Functionプロシージャ」「Propertyプロシージャ」があります。
例えば、次のようなVBAプログラムがあります。
Sub proceeds()
:
処理内容
:
End Sub
これは、proceedsという名称のSubプロシージャです。上記のように、Subプロシージャは「Sub プロシージャ名()」と「End Sub」の間に、プログラムを記述します。
基礎的な処理を理解する
ここでは、VBAの基礎的な処理について説明します。
1. Excelのセル指定
セルを指定して参照や代入などを行う場合に使用します。例えば、A1セルを指定する場合、
Range("A1")
のように記述します。
A1セルに「こんにちは」という文字列を代入する場合は次のように記述します。
Range("A1") = "こんにちは"
また、Range以外にもセルを指定する方法があります。Rangeはセルの位置をA1のように名称で指定していましたが、次に紹介するCellsは、行番号と列番号で指定します。
Cells(1, 1)
行番号=1、列番号=1は、A1セルのことです。
つまり、Range("A1")とCells(1, 1)は同じセルを指しています。VBAプログラミングに慣れてこれば、RangeとCellsを用途によって使い分けるようになってきます。
2. プログラムコメント
プログラムの中にコメントを入れることができます。コメントは「'」(シングルクォーテーション)を使用し、その後ろがコメントになります。例えば次のような記述です。
Range("A1") = 20 'A1セルに年齢を代入
3. 変数宣言
変数は、数値や文字列などのデータを一時的に保管する領域です。変数には保管するデータに合わせた種類を選択します。以下は一例です。
'*** 変数宣言 ***
Dim iData As Integer '整数型(-32,768 ~ 32,767)
Dim dData As Double '倍精度浮動小数点型(※小数に使う)
Dim Str As String '文字列型
'*** 値の代入 ***
iData = 1000
dData = 3.14
Str = "ABCDE"
4. 演算
プログラムで演算を行うことができます。例えば、次のようになります。
Dim iData As Integer
Dim Dat1 As Integer
Dim Dat2 As Integer
Dat1 = 5
Dat2 = 10
iData = Dat1 * Dat2 'かけ算
使用できる演算は次の通りです。
・「+」:たし算
・「-」:ひき算
・「*」:かけ算
・「/」:わり算
・「¥」:わり算の商
・「Mod」:わり算の余り
・「^」:指数
マクロを記録してみて動作を確認する
Excelのマクロの記録でプログラムコードを確認することができます。
マクロの記録では、操作した内容がマクロとしてプログラムコードに置き換えられて記録されます。繰り返し行いたい作業を記録し自動で反復させる場合や、操作がどのようなコードに置き換えられるのかを確認する場合に使用します。
ただし、次の場合は記録されないので注意してください。
・マウスやキーボードで操作できないもの
・ダイアログボックスを表示する操作
関数を理解する
関数とは、一般的に良く使われる共通機能をVBAであらかじめ用意している命令のことです。
例えば、文字列の中から指定文字を取り出したり(Mid関数)、文字列の長さを取得したり(Len関数)、文字列の中から文字を検索したり(InStr関数)、さまざまな関数が準備されています。
書籍や学習サイトなどにまとめられているので、覚える必要はありません。
VBAのコードを0から組んでみる
ここでは、VBAのコードを0から組む場合に注意すべき点を説明します。
1. プログラム概要の検討
VBAのコードを組む場合、何かを自動化するなどの目的があるはずです。どのような入力操作を行い、どの部分を自動化して、どのような出力結果を得られるようなプログラムにするのか、最初に大まかな流れを検討する必要があります。
2. 操作画面の設計
実際に入力画面や出力結果を表示する画面を設計し、入力と出力の形を決定します。
3. プログラム作成
入力データを使って出力情報を作り出すようなプログラムを作成します。
4. 動作確認
入力データに関して、範囲内や範囲外など、さまざまなパターンをためし、想定通りにプログラムが動くか確認します。
また、VBAの勉強が一通り終わったという方は、案件の詳細も調べてみてはいかがでしょうか。
VBAの勉強におすすめの書籍
ここでは、VBAを勉強する場合におすすめできる書籍を紹介します。
基礎からじっくり学べるものや、実践に即したもの、初級から中級へのステップアップに使えるものなどがあります。
できる イラストで学ぶ 入社1年目からのExcel VBA
この書籍は、VBAの基礎から実践までを着実に身につけていける内容になっています。
丁寧な解説とケーススタディで読み進めることができるVBAの入門書です。
サイト名:できる イラストで学ぶ 入社1年目からのExcel VBA
URL:https://book.impress.co.jp/books/1118101079
Excel 最強の教科書[完全版]——すぐに使えて、一生役立つ「成果を生み出す」超エクセル仕事術
この書籍は、業務に直結したノウハウが一冊に凝縮されています。
基本的なルールと実践的なテクニックを一挙に解説し、即活用できる内容が満載です。
サイト名:Excel 最強の教科書[完全版]――すぐに使えて、一生役立つ「成果を生み出す」超エクセル仕事術
URL:https://www.sbcr.jp/product/4797388701/
入門者のExcel VBA
この書籍は、VBAのプログラミングを書きながら、基本の文法を少しずつ学んでいける内容になっています。
実際にプログラミングをしながら進んでいくので、楽しくVBAを学ぶことができます。
サイト名:入門者のExcel VBA
URL:https://bookclub.kodansha.co.jp/product?item=0000194730
脱入門者のExcel VBA 自力でプログラミングする極意を学ぶ
この書籍は、初級者から中級者へステップアップするための内容になっています。
ステップアップに必要な3つの力である、「プログラムの問題点を見つけて修正する力」、「処理が速いプログラムを書く力」、「状況の変化に対応しやすいプログラムを書く力」を中心に学習を進めます。
サイト名:脱入門者のExcel VBA 自力でプログラミングする極意を学ぶ
URL:https://bookclub.kodansha.co.jp/product?item=0000194923
VBAの勉強におすすめの学習サイト
ここでは、VBAを勉強する場合におすすめできる学習サイトを紹介します。
図を使って初心者に分かりやすくしているサイトや、動画を使って解説しているサイトなど、いろいろなサイトがあります。一度閲覧してみることをおすすめします。
ドットインストール
この学習サイトは、動画による学習スタイルです。学べる動画が豊富で初心者向けの内容を提供しています。
1つの動画は3分ほどのものがほとんどなので、登録すれば無料で視聴することができます。
サイト名:ドットインストール
URL:https://dotinstall.com/
エクセルの神髄
この学習サイトは、ExcelとVBAについて初級から上級までの情報がまとめられています。
入門編や応用編、VBA100本ノックなど、カテゴリ分けされており、気になるところから見ていくことができます。
サイト名:エクセルの神髄
URL:https://excel-ubara.com/
Excelエクセルマクロ・VBA塾
この学習サイトは、VBAについて初心者にも分かりやすく丁寧に解説しています
分かりやすくするため、できるだけ図を使った説明になっており、初心者でも理解することができます。つまずきやすいポイントなどもまとめられています。
サイト名:Excelエクセルマクロ・VBA塾
URL:https://kabu-macro.com/
よねさんのWordとExcelの小部屋
この学習サイトは、VBAだけでなく、Excelの関数や基本操作、Word、PowerPointの基本についても解説しています。
VBAは入門編、実用編があり、一通りVBAの学習を終えている人であれば、実用編から始めてはいかがでしょうか。
サイト名:よねさんのWordとExcelの小部屋
URL:http://www.eurus.dti.ne.jp/~yoneyama/
moug
この学習サイトは、Q&A掲示板や即効テクニックの紹介、学習コンテンツの紹介など、いろいろな情報を共有しています。
同じVBAを学んでいる人がどういった疑問を持っているのかや、便利テクニックなど、役に立つ情報がたくさん掲載されています。
サイト名:moug
URL:https://www.moug.net/
OfficePro
この学習サイトは、VBAやExcel、Access、Wordの使い方を解説しています。
Excel VBA入門編では、基礎知識からプログラムの組み方、プロパティ、グラフなど、VBAの基本的な内容を解説しています。図とサンプルプログラムがあるので、実際にプログラムを書きながら進めることができます。
サイト名:OfficePro
URL:https://www.officepro.jp/
VBAを勉強してスキルアップを目指そう
VBAを使えば身近な業務も効率化することが可能なため、習得しておくと大変役立ちます。
VBAは業務効率化に役立つプログラミング言語のため、VBAを習得している人材は評価されます。自分自身の市場価値を高めたり、現業務の効率化を図ったり、VBAを習得していればいろいろなメリットがあります。
VBAを習得していることで得られるメリットは次のような【関連KW】です。
・時間短縮(業務効率化)
・アプリ開発が可能
・資格取得が可能(VBAエキスパート)
・業務や職種の幅が広がる
また、VBA 勉強 方法には、次のような方法があります。
・本
・サイト(学習サイト)
・スクールに通う
手軽に始めることができるのは、学習サイトを利用する方法です。学習サイトで勉強を始めてみて、必要に応じて、本やスクールなどを検討していくのが良い方法です。
ぜひこの機会にVBA習得しておくことをおすすめします。
Midworks おすすめの案件例
- 芝公園駅 / 港区月額80万〜90万円
- 新宿駅 / 新宿区月額70万〜90万円
- 本郷三丁目駅 / 文京区月額80万〜90万円
- 渋谷駅 / 渋谷区月額70万〜120万円
- 京橋駅 / 大阪市城東区月額100万〜200万円