初心者から実務利用者まで
わかりやすいVBA解説サイト
未分類

Ifステートメント

概要

 

条件によって、処理を変える事が出来る

 

構文

 

If 条件 Then

  処理

End if

 

 

If 条件 Then

  処理

Else if

  処理

End if

 

 

If 条件 Then

  処理

Else if

  処理

Else

  処理

End if

 

使用例

 

If Range(“A1”) = 100 then

  Range(“B1”).value = “満点”

End If

 

はじめての方への解説

 

古い戦争映画などで
よく出てくるセリフで

 

「俺…この戦いが終わったら…
 田舎の彼女と結婚するんだ…」

 

というものがあります。

 

 

「~だったら、~する。」

 

 

こういう表現をする時に
Ifステートメントを使います。

 

VBA風に書くと

 

If この戦いが終わったら then

  田舎の彼女と結婚する

End if

です。

 

If は「もし」

then は「その時」

 

中学生英語なので
おぼろげに
覚えてる方も
いらっしゃると思います。

 

 

しかし

 

彼は

 

「この戦いが終わったら」

 

言いますが
戦いが終わらない

パターンも
あると思います。

 

その時は
映画は完結せず

 

パート2が作られます。

 

これを先程の文章に
加えると

 

If この戦いが終わったら then

  田舎の彼女と結婚する

 

ElseIf 戦いが終わらなかったら Then

 パート2が作られる

 

End if

 

と、なります。

 

Else(ほかの)
「もし~」なので

 

ElseIfという単語が
加わりました。

 

さら

 

そのほかのケースも
考えられます。

 

例えば彼が
死んでしまった時

戦地で
新しい出会いがあり

そこで家庭を
築いてしまった時などです。

 

彼女は悲しむはずなので
バッドエンドとして
処理をします。

 

これをVBAに加えると

 

If この戦いが終わったら Then

  田舎の彼女と結婚する

 

ElseIf 戦いが終わらなかったら Then

  パート2が作られる

 

Else

 バッドエンド

 

End if

 

2番目に加えた
「Else If」 と

 

3番目に加えた
「Else」

 

すこし
似ていますが
違いは

Else Ifは

 

「戦いがおわらなかったら~」

 

状況が限定的ですが
Else の方はざっくり

 

「そのほかあらゆるケース」

 

幅広くまとめられている点が
違っています。

 

 

では、実際に

 

VBA文で
見てみましょう。

 

A1に
「100」という数字が
入っていると

 

B1セルに「満点」と
表示されるマクロを
作ってみます。

 

一行目は

 

もし、A1セルに 100と入力されていたら その時は

 

です。

 

これをVBAにすると

 

If Range(“A1”) = 100 then

 

となります。

 

行目は

 

B1セルに「満点」と表示する

 

これは

 

Range(“B1”).value = “満点”

 

です。

 

最後に

〆の言葉で

 

End If

 

と書けば終わりです。

まとめると

 

If Range(“A1”) = 100 then

  Range(“B1”).value = “満点”

End If

 

となります。

 

 

もう少し手を加えて

 

100点以外だったら

 

「残念」

 

表示する様にしてみます。

 

「100点以外」とは

 

100点のそのほかあらゆる点数

 

ですね。

 

If Range(“A1”) = 100 then

  Range(“B1”).value = “満点”

 

Else

 Range(“B1”).value = “残念”

 

End If

 

です。

 

ではさらに

 

80点以上で
100点以下だったら~

 

という条件を
加えてみたいと思いますが

 

少し長くなったので
次の項目に
わけて解説をします。