【超入門】VBAはIf文For文を覚えれば『破壊的』に使える理由

VBAはIf文とFor文だけ覚えればとりあえずOK。

なぜIf文とFor文だけ覚えればいいのか?If文、For文の書きかたを話していこう。

VBAを始めるならまずこれだけ覚える

VBAを始めるなら、If文とFor文をまず覚えて使えるようになればOK

ほぼ全ての処理でIf文、For文は確実に使うから。
「Excelの操作って、毎回同じ操作しててめんどくさいな!」なんてとき。

For文でプログラムしたら0.5秒とかで操作終わっちゃう、なんてよくある。

VBAができるようになると...

  • めんどくさい入力作業が自動化できる
  • 仕事をちゃんと終わらせながら、さぼれる...結果、文句言われない
  • 周りから『すごい!!』って言われてもてる...かも(笑)
  • 「あの人仕事出来る人だよ!」って知らないところで言われる

If文とFor文はどんなとき使うの?

  • If文・・・なにか条件(○○なら××だけど、それ以外は△△)があって分岐をしたい場合
  • For文・・・なにか繰り返し(同じ動作、操作、入力)の処理がある場合

分岐をしたいか、繰り返し処理をしたいかどちらかで使う。

上記のように、あなたが処理したい方法によって組み合わせたりして使うようにしよう。

関連記事VBAでIf文とFor文を「組み合わせて」処理する方法

If文の書きかた

If 何かの処理A Then
    Aの処理がされたとき実行
ElseIf 何かの処理B Then
    Bの処理がされたとき実行
Else
    Aの処理、Bの処理もされないとき実行

基本的にプログラムは全て、上から下にむかって処理がされる。

If文の考えかた

ここからはIf文を理想の恋人でたとえてみよう。

たとえば『理想の恋人条件を満たしたら、積極的にアタックする』If文は...

条件【あなたが男なら、()内に置きかえて!】

  • イケメン(かわいい子)
  • 誠実(エロい)
  • お金持ち(お金のかからない子)

VBAで書くと...

If イケメン And 誠実 And お金持ち Then
    MsgBox "積極的にアタックする!"
ElseIf ブサイク And 不潔 And 臭い人 Then
    MsgBox "生理的に無理"

Else
    MsgBox "アタックしないけど、友達ならあり"
  • If・・・もし
  • Then・・・~なら
  • And・・・~と
  • Else・・・ちがう場合

どんなプログラムの流れなの?

  1. もし、その人がイケメンと誠実とお金持ちなら
  2. 『積極的にアタックしてくる!』
  3. ちがう場合
  4. もし、その人がブサイクと不潔と臭い人なら
  5. 『生理的に無理、話しかけないで!』
  6. ちがう場合
  7. 『アタックはないけど、まあ友達としてはありかな!』

これ人生で一度は考えたことあるよね。
ってことは、そもそもあなたは人生で一回以上If文を考えたことがある

ただ英語の文章に置きかえてるだけ。

For文の書きかた

For i = 開始数値 To 終了数値
    i = i + 1
Next i
  • For・・・ならば
  • i・・・変数名

iの変数名はなんでもいい

iの変数名はなんでもOK
みんながiを使ってるから分かりやすいように使ってるだけ。

For文1つなら変数名はiで書けば間違いはない。

For文が使えるような場面

  • シートをコピーして、年月日だけ変えるとき
  • シート上で、同じパターンの計算をするとき など...

For文の考えかた

今回は、振られた回数で落ち込んでみようか。

次のコードは振られた回数が1プラスされるたびに落ち込むプログラム。

For 振られた回数 = 1 To 今まで告白した回数
    振られた回数 = 振られた回数 + 1    
    MsgBox "落ち込む"
Next 振られた回数
  1. コードを実行
  2. 振られた回数に1プラス
  3. メッセージで『落ち込む』と表示
  4. 次の振られた回数に戻るこれを、今までの告白した回数分やっていく。

まとめ

  • ほぼ全ての処理でIf文、For文は確実に使う
  • If文・・・なにか条件(○○なら××だけど、それ以外は△△)があって分岐をしたい場合
  • For文・・・なにか繰り返し(同じ動作、操作、入力)の処理がある場合

ということで、IF文とFor文は覚えるとプログラミングの基礎ができるからマジで使える。

あとあと他のプログラミング言語でも応用できるから覚えておこう。

関連記事VBAでIf文とFor文を「組み合わせて」処理する方法

・もっとVBA学びたい人向け記事↓