Ifステートメントは条件を分岐する場合に使用します。
以下の例は「セルA1がパチンコの場合、パチンコではない場合」です。
If Range(“A1”).Value = “パチンコ” Then |
セルA1がパチンコの場合セルが赤色になり、スロットの場合青色になります。
条件が2つの場合に使用します。
例) 男性か女性 5号機か6号機 日本人か外国人
ここで注意が必要なのはセルが空白の場合も青色になります。
以下のように記述する事で回避できます。
If Range(“A1”).Value = “パチンコ” Then |
条件がたくさん存在する場合以下のよにすることもできます
If Range(“A1”).Value = “セブン機” Then |
しかし一般的にあまりこのようなコードは推奨されていません。
プログラムの可読性が悪くなるからです。
条件が3以上になる場合はSelect Caseステートメントの使用をお勧めます。
Ifステートメントの記述方法には以下場合もあります。
If Range(“A1”).Value = “セブン機” Then |
セルA1がセブン機の場合はセルを赤色、羽根物の場合は青色、それ以外の場合セルを緑色です。
条件に一致したい場合だけ処理を行う方法として以下のような記述もあります。
If Range(“A1”).Value = “P” Then |
これと同じ動作で以下のような記述方法もあります。
If Range(“A1”).Value = “P” Then MsgBox “パチンコです” |
これは裏技的な記述では無くよく使用します。私は初心者の頃この記述方法を知らずに他の人が作ったコードでIfステートメントの終わりの End If が無く混乱したことがありました。
Ifステートメントでは演算子を組み合わせることがよくります。
ある文字で始まる | “海物語*” | 「海物語」で始まる If Range(“A1”).Value = “海物語*” Then |
ある文字を含む | “*海物語*” | 「海物語」を含む If Range(“A1”).Value = “*海物語*” Then |
ある値と異なる | <> “海物語” | 「海物語」と異なる If Range(“A1”).Value <> “海物語” Then |
ある数値以上 | >= 5000 | 5000以上 If Range(“A1”).Value >= 5000 Then |
ある数値より大きい | > 5000 | 5000より大きい If Range(“A1”).Value > 5000 Then |
ある数値以下 | <= 5000 | 5000以下 If Range(“A1”).Value >= 5000 Then |
ある数値より小さい | < 5000 | 5000より小さい If Range(“A1”).Value > 5000 Then |
以上とより大きいについて補足です。
台粗利が5000円以上 の時 If Range(“A1”).Value >= 5000 Then と記述します。
この場合 5000円 5001円は含まれ 4999円はこの条件に含まれません。
If Range(“A1”).Value > 5000 Then の場合5000より大きいという意味です。
この場合 5001円 5002円は含まれ 4999円 5000円はこの条件に含まれません。
ですので以下の2つの記述は同じ意味になります。
If Range(“A1”).Value >= 5000 Then
If Range(“A1”).Value > 4999 Then
以下とより小さいについても同様です。
小数点のある数値の場合注意が必要です。
玉粗利が 0.03円以上の機種を抽出したい場合次のようにします。
①If Range(“A1”).Value >= 0.03 Then
しかし以下の記述は①とは異なった意味になります。
②If Range(“A1”).Value > 0.02 Then
①の場合玉粗利が 0.03円 0.031円 0.04円 は含まれ 0.02円 0.25円 0.299円はこの条件に含まれません。
①の場合玉粗利が 0.25円 0.299円 0.03円 0.04円 は含まれ 0.02円 0.019円 はこの条件に含まれません。
このように玉粗利や玉単価、スタート、BYなど少数点を含んだ数値の場合明確に①のように記述を行い、②のように無駄な記述を行わないで下さい。
余談ですが通常小数点のない台粗利でも小数点が発生する場合があります。
設置台15台の粗利総額103,124円の場合
103,124円 ÷ 15台 = 6,874.933円 となり小数点が発生します。
特にエクセルではセルに 6874.933 と入力し表示形式で 6,875 とする事ができます。条件式どおりにならないと悩むことになりますので注意が必要です。
Ifステートメントは 理論演算子を使用することで複雑な条件判断を行うこともできます。
以下は記述例です。
①パチンコ かつ 海物語 の場合 ②海物語 または ギンギラパラダイス の場合 ③パチンコ ではない場合 |