pickup

目次

第四回目 SCHOOL OF VBA 講義内容

こんにちは。伊川(@naonaoke)です。

今回は、条件判定について解説します。

IF構文は、VBAにおいて本当に重要な構文になります。

世間一般では、IFになると、難しいと思われがちですが、普通に考えると理解できます。

フローチャートや、真、偽のような言葉を見ると難しく感じます。

条件判定

条件判定 作成手順その1 考え方

VBAでは、いろいろな条件分岐の方法があります。

IF構文、Select Case、Switch構文などがあります。

私は、実務では、IF構文、Select Caseをよく使います。

フローチャートで考えると下記の図のようになります。


IF構文
IF 条件1:○○○○○ Then
条件1が成就したならば、▲▲▲▲▲
Endif
IFで始まる構文は、Endifで締めくくるというルールがあります。

 

このルールだけを覚えてください。

こんな書き方になります。

IF構文については、実際に記載して作動を確認することで、本当に理解できます。

しかし、なかなかできないものです。

今回は、伊川の行動パターンについて、条件判定をします。

条件判定 作成手順その2 もしも、伊川が10,000円もっていたら?


Range(“A1”)に、伊川がお金を10,000円持っている という条件の時に、どのよう行動をするのでしょうか?

判定ボタンをクリックしてください。


Range(“A2”) に、焼肉に行くと表示されました。


判定ボタンをクリックしてください。


Range(“A2”)=”帰る”と表示されます。

これが、条件判定になります。


Sub test1()

If Range("A1") = "伊川がお金を10,000円持っている" Then

Range("A2") = "焼肉に行く"

Else

Range("A2") = "帰る"

End If

End Sub

 

これが二者択一の条件判定になります。

条件判定 作成手順その3 もしも、伊川が30,000円もっていたら?

普段は、30,000円の大金は持ち歩きません。

しかし、大金を持っているときは、行動範囲も大きくなります。


上の図のような条件の時はどうなるのでしょうか?






Sub test2()

If Range("A1") = "伊川がお金を30,000円持っている" Then
Range("A2") = "キャバクラへ行く"

ElseIf Range("A1") = "伊川がお金を10,000円持っている" Then
Range("A2") = "焼肉へ行く"

ElseIf Range("A1") = "伊川がお金を5,000円持っている" Then
Range("A2") = "居酒屋へ行く"

Else
Range("A2") = "帰る"

End If

End Sub

 

このような複数の条件の時は、Select Caseを利用したほうが、コード自体は見やすいですね。

今回は、Select Caseの説明は割愛します。

条件判定 作成手順その3 判定する条件が複数ある場合は?


Range(“A1”)が、伊 で、 Range(“B1”)が、川のとき、Range(“A2”)に伊川 直助と表示します。


伊川は、And Orを利用するときは、条件全体をカッコでくくります。

このほうが確実だからです。

Sub test3()

If (Range("A1") = "伊" And Range("B1") = "川") Then

Range("A2") = "伊川 直助"

Else

Range("A2") = "知らない人"

End If

End Sub

 

ここがポイント

ここがポイント
Function8.png
条件分岐は、VBAでは必須です。しかし、難しいという先入観で、挫折する人も多いかと思います。

書籍だけではなく、身近なことに置き換えることで、理解しやすくなります。

 

まとめ

例えが、あまりよろしくないかもしれませんが、条件分岐は難しくありません。

自分でコードを記載して試してみることが理解への一番の近道です。

 

スポンサーリンク

Twitterでフォローしよう

おすすめの記事