VBA If - Then - Elseステートメント(Excelの4例)

  • これを共有
Hugh West

プログラミング言語において、指定された条件に応じて一連の動作を行うために、条件文が用いられます。 今回は、条件文とは何かについて紹介します。 If - Then - Else の条件文があります。 ブイビーエー Excelとは何か、どう使うか。

ワークブックダウンロード

練習用Excelワークブックは、こちらから無料でダウンロードできます。

VBAのIf-Then-Else.xlsm

VBAのIf - Then - Elseステートメント入門

VBA If - Then - Else 条件文は主に、条件が真であれば特定のアクションを実行し、条件が偽であれば別のアクションを実行するという実行の流れを決定するために使用される。

  • シンタックス
 If 条件 Then [ステートメント] [Else else_statements]. 

あるいは

 If condition Then [statements] [Else [else_statements]] End If 

これです。

論証 必須/オプション 商品説明
条件 必須 であるかどうかを評価する数値式または文字列式。 または もし 条件 がNullの場合は、Nullとみなす .
ことづて オプション を持たない1行のフォーム。 エルゼ 1つまたは複数のステートメントをコロンで区切る必要があります。 条件 でございます を実行すると、この文が実行されます。
else_statements オプション がない場合、1つ以上のステートメントが実行されます。 条件 でございます .

VBAのIf - Then - ElseステートメントをExcelで使用する4つの例

本セクションでは イフテンエルゼ において ブイビーエー のコードを4つの例で説明します。

1.If-Then-Else文で2つの数値の間の最大の数値を求めます。

2つの数字があり、どちらが大きいか(小さいか)を調べたい場合は、次のようにします。 イフテンエルゼ 記載 ブイビーエー .

ステップス

  • プレス Alt + F11 キーボードから、またはタブで 開発者 -> Visual Basic を開く Visual Basic エディター .

  • ポップアップ・コード・ウィンドウで、メニューバーから インサート -> モジュール .

  • 以下のコードをコピーして、コードウィンドウに貼り付けてください。
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "1st Number is Greater than 2nd Number" ElseIf Num2> Num1 Then MsgBox "2nd Number is Greater than 1st Number" Else MsgBox "1st Number and 2nd Number are Equal" End If End Sub 

これであなたのコードは実行できるようになりました。

ここでは、2つの数値を比較しています 12345 12335 この方法は、大きなデータセットの中の大きな数字を見つけるのに適している。

  • プレス F5 をキーボードで入力するか、メニューバーから Run -> Run Sub/UserForm をクリックするだけでもOKです。 スモールプレイアイコン をクリックすると、マクロが実行されます。

その結果をExcelの MsgBox

私たちの場合、数 12345 - 変数に格納されている Num1 - は数より大きい 12335 , Num2 ということをMsgBoxが示しているわけです。 1番目の数字が2番目の数字より大きい .

続きを読む: 乱数を生成するExcelの計算式(5例)

2.VBAでIf-Then-Else文を使った生徒の成績チェック

のこの記述で、試験の合否を確認することができます。 ブイビーエー のコードになります。

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、次のコードをコピーして貼り付けます。
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

これであなたのコードは実行できるようになりました。

このコードでは、Cell D5 よりも大きい値を保持しています。 33 もしそうなら、1つの出力を表示し、そうでなければ、他のものを表示します。

  • 実行 を実行すれば、あなたのコードに従った結果が得られます。

上記のデータセットとその結果であるCellを見てください。 D5 ホールド 95 よりも確実に 33 と表示されます。 結果:合格 しかし、Cellのコードを実行すると D7 (22)であれば、それ以外の表示となる。

続きを読む VBAのケース文の使い方(13例)

類似の読み物

  • エクセルVBAでLog関数を使う方法(5つの適切な例)
  • ExcelでVBA LTrim関数を使用する(4例)
  • ExcelでVBA FileDateTime関数を使う方法(3つの使用法)
  • VBAのMod演算子を使う (9例)
  • VBA EXP関数(エクセル)(5例

3.VBAで複数のIf - Then - Elseステートメントを使用して学生の成績のコメントを更新する

で合格か不合格かを抽出する方法を学びました。 イフテンエルゼ ステートメントについて学びますが、今回は 複数のIf-Then-Else ステートメントを次の例で説明します。

を実行する予定です。 ブイビーエー を埋めるためのコードです。 コメント ボックスを複数の条件に基づいて表示します。

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Great Work" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Keep It Up" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Needs Improvement" Else grade.Offset(0, 1).Value = "Parents-Teacher Meeting" End If Next grade Endサブ 

これであなたのコードは実行できるようになりました。

このコードは、生徒が達成した成績に応じてコメントを表示します。

  • 実行 このコードを実行すると、次の図のようにコメント欄が適切な結果で埋め尽くされます。

4.Excelのコードに基づく枢軸方向の更新を行うIf-Then-Elseステートメント

を活用することもできます。 イフテンエルゼ 次の絵を見てください。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value ="North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value ="South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value ="East" Else iDirection.Offset(0, 1).Value ="West" End If Next iDirection Endサブ 

これであなたのコードは実行できるようになりました。

  • 実行 このコードを実行すると、それぞれのセルに方向名が表示されます。

また、コードに基づいて1つの方向だけを見つけたい場合は、以下のコードを使用することができます。

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

このコードでは、Cellから値を取得します。 B5 を考慮し、それに応じた結果をCellに返します。 C5 .

例えば、" と書くと N " in Cell B5 を与えてくれます。 ノース と書くと、「? S " in Cell B5 と表示されます。 " in Cell C5 .

結論

この記事で紹介したのは If - Then - Else というステートメントをエクセルで作成します。 ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。