条件式
条件式とは2つの数値の比較を行う、2つの条件を結びつける、真または偽のどちらかを取るか、などを表した式の総称で、制御構文の1つです。
主に条件式で使われているのは「真または偽」をとるか、というものです。
真または偽であるかを判定するには「 If Then End If 」というIf文で書かれます。
If文の書式は以下のようになります。
If 条件式 Then
条件式が真の場合 (処理1)
else
条件式が偽の場合 (処理2)
End I
If文は上のように条件を出しながら真であるか偽であるかを1つ1つ判定するときに使用されます。
条件式ではいくつかの記号を覚える必要があります。
それぞれの条件によって、式から答え(真か偽か)を求める内容が変化します。
条件式の種類
条件式の種類 |
条件式が表す内容 |
---|---|
= |
等しい |
<> |
等しくない | < |
~より小さい | <= |
以下 | > |
~より大きい | => |
以上 |
それでは条件式の例として「If Thenステートメント」を使ってコードを書いていきます。
エクセルを開きます。
今回は数値を変化させて、ある一定の数値になった場合にメッセージボックスを表示させるものを作ります。
まずはA1セルに「 30 」と入力しておきましょう。
次にVBEを開きます。
エクセルの上部メニューから[ ツール ] ⇒ [ マクロ ] ⇒ [ Visual Basic Editor ]をクリックします。
Sheet1をダブルクリックして選択します。
Sheet1を指定できたら右側の白いウィンドウ(コードウィンドウ)にコードを記入していきます。
まずはサブプロシージャを作成します。条件式はサブプロシージャ内に作成します。
次にシート上のセルを指定と条件式となるIf文を作成します。
上画像の赤枠のように、シートにあるどのセルの値なのかをはじめに指定します。
指定ができたらいよいよ条件式の作成です。
画像青枠内の式を見てください。
If 数値 > 10 Then |
もし数値(最初に指定したセル 今回はA1セル) が 10より大きい場合 |
コードの内容はこの様な意味になります。
2行目の説明に移ります。
Range ("A1") .Value = 数値 - 1 |
A1セルにある "数値"で指定してある値 から 1を引きます |
最後に条件が満たされなかった場合の式を作成します。
これでIf文は完成です。
コードを書き終えたとき「 End If 」でIf Thenステートメントを閉じることを忘れないように行ってください。
A1セルに入力されていた「 30 」という値がIf Thenステートメントを実行することにより「 29 」に変化しました。
30から29へ移ったときは条件が満たされましたが、A1セルの値が10以下になってしまった場合、つまり条件が満たされなかったときはどのようになるのか見てみましょう。
条件が満たされなかった場合のメッセージボックスが表示されました。
条件式ではその時々に合った処理を行うよう様々な条件を指定することができます。