
VBAのインプットは少ししたけど、簡単なコードさえまだが書く自身がないわ!

RangeやIfは知ったけど、実際に書けるようにならんわ…
このような悩み抱えていませんか?
今回の記事と動画を見れば解決します!
まだVBAに関して「触れたこともなくて全くわからない!」という方は
を見てから参考にしてください!
- VBA脱初心者動画紹介
- VBAのコードを書くための基礎知識(Rangeオブジェクト、条件分岐(If)、繰り返し(For Next)、最終行の取得、Worksheetsの扱い)
VBAの「根幹」ともいえる内容を
良質な動画を通してサクッと勉強しちゃいましょう!!
本記事のコードが書ければ実務でも役立ちます。
今回の記事がどれくらいのレベルなのか
以下にまとめておきます。
- VBAを始めたばかりでコードを全く書くことができない
- VBAとは?初心者が0から動画で学ぶ!の記事を見た
- Rangeオブジェクト・条件分岐(If)・繰り返し(For Next)・最終行の取得を知った程度でアウトプットできない
- 基礎を知った程度でまだRangeやIfを知らない
「コードを書き始める」という点が本記事の重要なポイントです。
それでは、良質な動画とともにVBAのコードを書いていきましょう!
VBAで簡単なコードを書いてみよう(参考動画あり)

VBAで簡単なコードを書くのには動画を見ながら手を動かすのが最もわかりやすいです。
さっそく動画を紹介します。
Excel VBA第2弾請求書を1クリックで出力するマクロを作成!文系・非IT職もできるプログラミング
Excel VBA[第2弾](脱・入門編)請求書を1クリックで出力するマクロを作成!文系・非IT職もできるプログラミング
上記講座は
Excel VBA[第1弾](超入門)エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング
の続きの講座になります。
Udemy講座になりますので、有料です。
「VBAを挫折せずに勉強したい」という方にとっては必ず価値のある自己投資になります。
理由は
VBAとは?初心者が基礎から学ぶ!で解説していますので、参考にしてくださいね!
それでは内容と重要な部分を見ていきましょう!
0~0.5章 全体像把握
どのプログラミング言語でもいえることですが
最初にどんなことをしたいのか文字にしておくと
頭の中が整理され、コードを書きやすくなります。
動画ではフローチャート式やScratchブロック風などが出てきます。
ですが、形式にこだわらず何でもいいから書いてみることが大事だと思います。
具体的に私はこのようにコードを書き始める前に「これからVBAを通してやろうと思うこと」を
書き出しています。

例えば、パワーポイントを使って発表資料を作るとき
いきなりスライドを作ると全体像がまとまってなくてめちゃくちゃ効率悪いじゃないですか?
まずマインドマップやWordで自分の話したい内容をまとめますよね!
それと同じことをプログラミングでもやります!
「セルA1の値を別シートのセルB2に転記して…」とか
細かくてもいいので自分がやりたいことの情報を書き出しましょう!!
すると頭の中が整理され、全体像が把握できます。
全体像を書いた資料をもとにコードを書いていきます!
全体像把握のため、VBAでやりたいことを紙などに書き出す
第1章 セルの指定(Rangeオブジェクト)
オブジェクト、プロパティ、メソッドという専門用語が出てきます。
そして、Rangeとかいう見たことない英語も…
大丈夫です!それほど難しくないです!
オブジェクト、プロパティ、メソッドは個人的なイメージですけど
英語学習に似ていると思います。
- オブジェクト;主語(英語だとTomとか)
- メソッド:動詞(英語だとplayとか)
- プロパティ:様子や目的語(英語だとsoccerとか)
あくまでイメージです。完全には一致しないので注意してください。

Rangeオブジェクトに関しては
練習問題が動画内でありますのでやりまくりましょう!!
ここで慣れることが大事です!
インプットしたらすぐにアウトプットして書けるようにすることを意識してください!
- オブジェクト;主語(英語だとTomとか)
- メソッド:動詞(英語だとplayとか)
- プロパティ:様子や目的語(英語だとsoccerとか)
- Rangeオブジェクトはひたすら書いて慣れていく!!
第2章 条件分岐(If)
どのプログラミング言語でも必須の知識である条件分岐です。
概要は講師のエクセル兄さんがわかりやすく説明してくれるので
私からは注意点を補足しておきます!
ExcelでもIfってでてきますよね?
ただExcelのIfとは少し違うので注意してください!
省略して書くことができないという点が異なります。

具体的にどういうこと?
Excelだと例えば
=If(A1=0,"〇","×")
と書けば、セルA1の値が0だったら〇それ以外は×(〇や×を書くセルはB1とします)
上記の数式のようにどこに結果を書くかはセルを選択するだけで書くことができます。
しかし、VBAだと

という形で、どこに〇や×を書くのかという部分までしっかり書く必要があります。
仮にこのような感じで

と書くとエラーです。
Excelに慣れていると省略して書きたくなると思うので、伝えておきます!
また条件分岐の練習問題では講師のエクセル兄さんが答えを言う前に
自分で「こうしたらうまくいくのでは?」と先回りして考えられたらベストです!!
- VBAのIfはExcelのように省略して書くことができない
- 練習問題は1度自分で考えてみよう!
第3章 行番号と変数
難易度が少し上がります!
特につまづきポイントとしては
Range(“J” & r & “:” & “M” & r )

は?

どれにダブルクォーテーションが必要でどれにいらんねん!!
という声が聞こえてきます。
Range(“J” & r & “:” & “M” & r )を書けるようになるコツは
- 変数にダブルクォーテーションはいらない
- 逆に変数以外はダブルクォーテーションがいる(数字以外)
- 文字同士をつなぐ際は必ず「&」がいる
- 「&」にダブルクォーテーションはいらない
ややこしいですよね。
私も最初はかなり苦戦しました…
イライラMaxで何度もトライしました。
Range(“J” & r & “:” & “M” & r )の意味を理解して書けるようにならないと
今後自分でコードを書けるようにならないので
何度も動画を見返して理解するようにしてください!!
第4章 繰り返し処理(For Next)
「Do Whle」と「Do Until」もチラっと出てきますが
あまり気にせず、「For Next」1点集中でオッケーです!
すぐにアウトプットできる練習問題がありますので
自分でかけるまで何度も繰り返しましょう!!
第4.5章 最終行の取得
またつまづきポイントが出てきます。
Cells(Rows.Count,1).End(xlUp).Row
こいつです。最初みたら

Range(“J” & r & “:” & “M” & r )並みに意味わからんやん!!

いきなりCellsとかRows.Countとか出てくるしもう無理…
気持ちはすごいわかります!
疲れたらいったんVBAから離れて休憩しましょう!
Cells(Rows.Count,1).End(xlUp).Row
は丸暗記です。
Cellsはセルを指定します。
Cells(1,1)はRange(“A1”)と同意です。
画像で表現しておきます。

注意点として、「,](カンマ)や「.」(ピリオド)を打ち間違えるだけでも
エラーになるので注意してください!

細かすぎるやろ…
第5章 シートの指定
第5章までたどり着ければ、請求書の完成まであとわずかです!
ここではシートの指定方法を勉強します。
たとえば、Excelにシートが何枚かある場合
セルA1はそれぞれのシートにありますよね?
そのため、どのシートのセルA1なのか指定してあげる必要があります!
注意点としては「s」を付け忘れることです。


ほんま細かいな~

細かいところまで攻略しないとエラーまみれになるわよ!
そして1つ1つの動作をステップ実行(F8)で確認しながら、
請求書レベル5.5を自分で書けるようになるまで
繰り返し勉強します。
わからないところは何度も振り返り、自分で書けるようにしていく。
最終的には請求書レベル5.5を1から自分で書けるようにする!
心が折れそうになることもあると思いますが、
請求書レベル5.5のコードを自分で書ければ
実務で活かせるレベルまで上達できています!!
自動化された業務を夢見て継続して勉強していきましょう!!
まとめ:VBAは簡単なコードを書いてみることから始めよう

今回はVBAの簡単なコードを書くための材料を紹介していきました。
要点をもう一度振り返っておきます。
- コードを書く前に全体像把握
- 条件分岐(If)に慣れる
- Range( “J” & r & ” : ” & “M” & r )を書けるようになる
- For Nextに慣れる
- Cells(Rows.Count,1).End(xlUp).Rowを暗記
- Worksheetsを使い、請求書レベル5.5を自分で書けるようになる
盛りだくさんですが諦めずチャレンジすれば必ず書けるようになります!!
私も文系でプログラミングの知識ゼロでしたが書けるようになりました。
ですので、ぜひ諦めずチャレンジし続けてほしいです!!
本記事が「レベルが高いよ!」と感じた方は
上記記事を参考にしてくだ!
今回の記事が皆様の勉強効率化に役立てば幸いです。
良質な動画で効率の良い勉強を!