さまざまな条件に応じて、さまざまなタスクを実行したい場合があります。 1つの条件が当てはまる場合は、さまざまな条件を確認したいと思います。そのシナリオでは、VBAでIfElseIfステートメントを使用します。

VBAのIfElseIfの構文

If condition1 then

'Code to execute if condition1 is true

ElseIF Condition2 then

'Code to execute if condition2 is true

ElseIF Condition3 then

'Code to execute if condition3 is true

'--

'--

ElseIF ConditionN then

'Code to execute if conditionN is true

{Else}

'Optional Code if none of the condition is matched.

End If Sub

IfElseIfステートメントの制御フロー

image

If ElseIfステートメントでは、次の条件は、前の条件が該当する場合にのみチェックされます。条件が一致すると、そのブロック内のコードが実行され、コントロールはIfブロックを終了します。オプションのElseブロックが1つあります。いずれの条件も一致しない場合にのみ実行されます。いずれの条件も一致しない場合に何かを実行したい場合は、そのコードをElseブロックに配置します。

だから、十分な理論。それを消化する例を見てみましょう。

例:VBA IfElseIfステートメントを使用した成績評価

ここでは、グレーディングシステムの典型的な例を取り上げます。以下の条件に従ってマークを評価するユーザー定義関数GRADEを作成します。

マークが80より大きい場合、グレードA。それ以外の場合、マークが60より大きい場合、グレードB。それ以外の場合、マークが40以上の場合、グレードC。マークが40未満の場合、グレードF。

VBAコードは次のとおりです:

Function GRADES(marks As Double)

If marks > 80 Then

GRADES = "A"

ElseIf marks > 60 Then

GRADES = "B"

ElseIf marks > 40 Then

GRADES = "C"

Else

GRADES = "F"

End If

End Function

上記の関数は、最初に、指定された値が80より大きいかどうかを確認します。この条件がTrueになると、関数はAを返し、ifブロックを終了します。条件が一致しない場合は、次のElseIF条件をチェックします。いずれの条件も真でない場合、Elseブロックが実行され、グレードFが返されます。

image

If ElseIf Vs Nested Ifs

Else Ifがネストされていない場合、ネストされたIfは、前の条件が一致したときに別の条件をチェックします。前の条件が一致しない場合、IfElseIfステートメントは別の条件をチェックします。

If ElseIfでは、1つの条件が一致すると、その条件のコードが実行され、制御はIfElseIfステートメントを終了します。ネストされたIfの場合、1つの条件が一致すると、別の条件がチェックされます。いずれかの条件がFalseになるか、すべての条件が一致すると、コントロールは終了します。

そうそう、これはVBAのIfElseIFステートメントです。これがお役に立てば幸いです。以下のコメントセクションで、これが十分に説明的であったかどうかをお知らせください。 VBAまたはExcelの数式に疑問や特別な要件がある場合は、以下のコメントセクションで質問してください。

関連記事:

link:/ general-topics-in-vba-vba-select-case-alternative-of-multiple-if-else-if-statements [VBA Select Case Statement:] Select Case Statementsは、数が多すぎる場合に役立ちます。チェックする条件。これらは、複数のIfElseIfステートメントの優れた代替品です。

link:/ using-loops-using-loops-in-vba-in-microsoft-excel [MicrosoftExcelのVBAでループを使用する] | VBAのループにより、コードを繰り返すことなく、同様のタスクを何度も実行できます。 ExcelVBAには3種類のループがあります。

link:/ using-loops-for-loops-with-7-examples [Microsoft ExcelVBAでのForループの7つの例] | forループの7つの例により、自動化作業が簡単になります。単純なforループから始めましょう。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。 link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。