実は、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学びたい人向け記事↓