【VBA備忘録】If文は難しくない!条件分岐マスター講座
If文ってなに…?
ExcelやVBAで最初にぶち当たる壁…それは「If文」と言っても過言ではないでしょう。
Excelだったら「=IF(○○ , ×× , □□)」、
VBAだったらIf「If ○○ Then ×× Else □□」、
「もしも○○だったら、××の処理。違ったら、□□の処理」という意味です。
条件によって処理を分岐するときにつかいます。
基本のIf文
Excelの場合
IF関数を使用します。
=IF(○○ , 処理1 , 処理2)
’もし○○なら処理1、○○でなかったら処理2

A列とB列が一緒だったら○、違ったら×をC列に表示したい場合は
=IF(A1=B1,"○","×")
C列に入力すると

2行目だけ違うため、×が表示されますね!
VBAの場合
If ○○ Then ’もし○○なら
処理1 ’処理1を実行
Else ’○○でなかったら
処理2 ’処理2を実行
End If
Alt+F11でVBAを開き、
プロジェクト→右クリック→挿入→標準モジュール

標準モジュールに以下のプログラムを書いていきます。
Sub どっちがすきなの()
For i = 1 To 3 '1~3行を順番にみていく
If Cells(i, 1) = Cells(i, 2) Then 'i行目A列の値とi行目B列の値が同じだったら
Cells(i, 3) = "○"
Else 'i行目A列の値とi行目B列の値が違ったら
Cells(i, 3) = "×"
End If
Next i
End Sub

C列に結果が表示されます。
If文に使う演算子
Excelの場合
使用する関数 | 文法 | 説明 |
---|---|---|
A=B | AはBと等しい | |
A<>B | AとBは等しくない | |
A<B | AよりBの方が大きい | |
A>B | AよりBの方が小さい | |
A<=B | Aより大きくB以下 | |
A>=B | Aより小さくB以上 | |
OR関数 | OR(Aの処理,Bの処理) | AかBのどちらかTrueまたはAとBのどちらもTrue |
AND関数 | AND(Aの処理,Bの処理) | AとBのどちらもTrue |
VBAの場合
演算子 | 説明 |
---|---|
A=B | AはBと等しい |
A<>B | AとBは等しくない |
A<B | AよりBの方が大きい |
A>B | AよりBの方が小さい |
A<=B | Aより大きくB以下 |
A>=B | Aより小さくB以上 |
AorB | AかBのどちらかTrueまたはAとBのどちらもTrue |
AandB | AとBのどちらもTrue |
まとめ:If文をマスターすればやれることが増える
If文は○○だったらこうしたいよな、でも▼▼だったら…
とプログラムにどんどん深みをだしてくれます。
ぜひIf文をマスターして初心者から一歩先の処理を自動化させてみましょう!
今後のステップ
- まずはこのコードでIf文の動きを体感してみてください。
- 次は他の業務シーンでの応用(シート別、値以外の処理)にチャレンジ!
- 効率化のための学びを続けたい方は、書籍や動画教材の活用が効果的です。
VBAを体系的に学びたい方は、以下の教材もおすすめです。
・圧倒的効率化めざしてるならこれ
まとめ:別ブックを開かないと爆速処理ができる
時間も手間も削減!非表示で別ブックのデータ取得VBA
別ブックを開かずに処理すると開いているときより格段早く処理ができるため、取り入れてブックのレベルアップをしてみてください!
今回ご紹介した方法を使えば、複数のブックを一つずつ表示させずに、サクッと必要なセルの値を取得できるようになります。 実際に使えば開いて・待って…というムダがなくなり、作業が一気に快適になるはずです。
非表示での処理なので、作業中の チラつきもなく、ユーザー体験もスムーズ。大量ファイルを扱う職場や定型的な処理があるシーンでは特に威力を発揮します。
テキストデータを収集するならもっと速くできます!
こちらもよかったら
今後のステップ
- まずはこのコードで「処理の高速化」を体感してみてください。
- 次は他の業務シーンでの応用(シート別、値以外の処理)にチャレンジ!
- 効率化のための学びを続けたい方は、書籍や動画教材の活用が効果的です。
VBAを体系的に学びたい方は、以下の教材もおすすめです。
・圧倒的効率化めざしてるならこれ
・Udemyの講座もオススメです
【マクロで自動化】大量の Excel シート、ファイルを作成&集計する VBA マスターコース