【簡単】ExcelでIf関数できるならVBAはできるようになる理由

実は、ExcelでIf関数が使えてればVBAは簡単に習得できます。

なぜなのか?話していきましょう。

VBAはIf文できるなら簡単です

If関数できるならVBAは簡単に習得可能。
IF関数ってVBAにしても書いてることは変わらない。

たとえばA1セルが空白、A2セルにIf関数書くとする。

=If(A1="", "空白", A1)

このときの結果は、A2セルに空白って表示されるよね。

このIf関数をVBAで書くと、次のようになる。

If Range("A1") = "" Then
    Range("A2") = "空白"
Else
    Range("A2") = Range("A1")
End If

「あれ?VBAのほうが長くない?じゃあ関数でいっかな...」って思うじゃん。

でもVBAのほうが確実にメリットがあるわけです。

VBAをやることでわかる3つのメリット

  • 100倍以上の業務短縮化
  • 誰かに関数を変えられる心配がない
  • 修正するとき分かりやすくて便利

メリット1: 100倍以上の業務短縮化

VBAにすると、関数のときより100倍以上の業務短縮化

たとえば8時間かかってた作業が1分で終わる。
これは冗談じゃなくてマジです。

メリット2: 誰かに関数を変えられる心配がない

誰かに関数を変えられてしまう心配が0%に

たとえば一生懸命にIf関数で数式を作る。
でも他の誰かがそのExcelファイル使うとする。

これ、だいたい計算がくるっちゃうやつ。

「関数いじったなら言えよ!こっちは作るの大変なんだよ!」って思うよね。

VBAにすると、自分しか変えられない設定が可能。

メリット3: 修正するとき分かりやすくて便利

修正するとき分かりやすくてホント便利

たとえば、さっきのIF文をA2~A100まで入れるとする。

=If(A1="", "空白", A1)

でも、もし誰かが中途半端にA90セルとかの数値を変えたとしたら分かんなくなるよね。

関数だと1つ1つのセルに関数いれておかないとダメ。

VBAにしたら下記のように1回書いておくだけ。

Dim i as Long

For i = 2 To 100
    If Range("A1") = "" Then
        Cells(1, i) = "空白"
    Else
        Cells(1, i) = Range("A1")
    End If
Next i

まとめ:

  • If関数ができるならVBAは習得できます
  • 100倍以上の業務短縮化
  • 誰かに関数を変えられる心配がない
  • 修正するとき分かりやすくて便利

ってことで、VBAって意外と簡単に習得可能

VBAを習得するメリットは大きいから学習してみるのもいいですね。

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

あなた向け今まさに「きれいなコードを書かなくちゃ...」と考えているあなたへ。