ソーシャルメディア If-ThenをExcel 2016 VBAで使用する方法 - ダミー

If-ThenをExcel 2016 VBAで使用する方法 - ダミー

目次:

ビデオ: 【初心者向けエクセルVBA】If~Thenを使った条件分岐の超入門 2024

ビデオ: 【初心者向けエクセルVBA】If~Thenを使った条件分岐の超入門 2024
Anonim

If-ThenはVBAの最も重要な制御構造です。おそらく、毎日このコマンドを使用します。条件付きで1つ以上のステートメントを実行する場合は、If-Then構造を使用します。オプションのElse節が含まれている場合は、テストしている条件が ではなく の場合に1つ以上のステートメントを実行できます。 If-Then-Else構造を使用するためにコード化された簡単なCheckUserプロシージャを次に示します。

<! UserName = InputBox( "あなたの名前を入力:")UserName = "Satya Nadella" Then MsgBox( "Welcome Satya …") '… [その他のコードはこちら] … Else MsgBox "ごめんなさい。 Satya Nadellaだけがこれを実行できます。 "End If End Sub
If-Thenの例

次のルーチンは、オプションのElse節を持たないIf-Then構造を示しています:

Sub GreetMe()Time <0. 5の場合、MsgBox" Good Morning "End Sub

GreetMeプロシージャは、VBAのTime関数を使用してシステム時刻を取得します。現在の時刻がより小さい場合。図5に示すように、ルーチンはフレンドリーな挨拶を表示する。 Timeがより大きいか等しい場合。 5であれば、ルーチンは終了し、何も起こらない。

<! - 2 - > <! - 1 - >

時間が[以上]の場合、別の挨拶を表示する。

Sub GreetMe2()Time = 0の場合5 Then MsgBox "Good Afternoon" End Sub

> =(より大きいか等しい)に注意してください。 2番目のIf-Thenステートメントに使用されます。これにより、1日全体がカバーされます。 (より大きい)が使用されていた場合、この手順が正午12時に実行された場合、メッセージは表示されませんでした。それはかなりありそうもないですが、このような重要なプログラムでは、チャンスを取ることを望んでいません。

-
- >

If-Then-Elseの例この問題に対するもう1つのアプローチは、Else節を使用します。

Sub GreetMe3()Time <0. 5の場合、MsgBox "Good Morning" Else _ MsgBox "Good Afternoon" End Sub

この行は、前の例では継続文字(アンダースコア)が使用されています。 If-Then-Elseステートメントは、実際には単一のステートメントです。 VBAは、End Ifステートメントを使用するIf-Then-Else構文を少し異なる方法でコーディングする方法を提供します。したがって、GreetMeプロシージャは

<! MsgBox "Good Morning" Else MsgBox "Good Afternoon" End If End Sub

実際には、以下の文をいくつでも挿入することができます: - >

Sub GreetMe4() Else部分の一部および任意の数の文。この構文は読みやすく、ステートメントが短くなります。
GreetMeルーチンを拡張して、午前、午後、および夕方の3つの条件を処理する必要がある場合はどうなりますか? 2つのオプションがあります:3つのIf-Thenステートメントを使用するか、

入れ子になった

If-Then-Else構造を使用します。 ネスティング は、If-Then-Else構造を別のIf-Then-Else構造内に配置することを意味します。 3つのIf-Thenステートメントを使用した最初のアプローチは、より簡単です。 Sub GreetMe5()時間= 0.5の場合のDim Msg As String 5と時間= 0.75 Then Msg = "Evening" MsgBox "Good"&Msg End Sub 変数を使用して新しいひねりが追加されました。 Msg変数は、時刻に応じて異なるテキスト値を取得します。 MsgBoxステートメントは、挨拶を表示します。Good Morning、Good Afternoon、またはGood Evening。

次のルーチンは、同じアクションを実行しますが、If-Then-End If構造体を使用します。

Sub GreetMe6()Time = 0.5の場合、Dim Msg As String 5およびTime = 0.75 Then Msg = "Evening" End If MsgBox "Good"&Msg End Sub

ElseIfを使用する

前の例では、ルーチン内のすべての文が実行されていました。わずかに効率的な構造は、条件が真であるとすぐにルーチンを終了します。たとえば、午前中は、Good Morningメッセージが表示され、終了する必要があります。他の余分な条件は評価されません。

このような小さなルーチンでは、実行速度を心配する必要はありません。しかし、速度が重要な大規模なアプリケーションでは、If-Then構造の別の構文について知っておく必要があります。

この構文を使用してGreetMeルーチンを書き換える方法は次のとおりです。

Sub GreetMe7()時間が0の場合、Dim Msg As String 5および時間<0. 75 then Msg = "午後" Else Msg = "Evening "End If MsgBox" Good "&Msg End Sub

条件が真であれば、VBAは条件文を実行し、If構造は終了します。言い換えれば、この手順は前の例よりも少し効率的です。トレードオフは、コードが理解しにくいことです。

別のIf-Thenの例

If-Then構造の単純な形式を使用する別の例を次に示します。このプロシージャは、ユーザーに数量を入力してから、ユーザーが入力した数量に基づいて適切な割引を表示します。

Sub ShowDiscount()Dim Quantity As Long Quant Discount As Double Quantity = InputBox( "Quantity:")Quantity > 0 Then Discount = 0 1 Quantity> = 25ならばDiscount = 0.15 Quantity> = 50ならばDiscount = 0. 2 Quantity> = 75ならばDiscount = 0. 25 MsgBox "Discount:"&Discount End Sub

このルーチンの各If-Thenステートメントが実行され、ステートメントが実行されるとDiscountの値が変更されることに注意してください。ただし、If-Thenステートメントは割引値の昇順になっているため、最終的に割引の正しい値が表示されます。

次の手順は、代替のElseIf構文を使用して同じタスクを実行します。この場合、ルーチンは真の条件の文を実行した直後に終了します。

Sub ShowDiscount2()Dim Quantity As Long Quant Discount As Double Quantity = InputBox( "Quantity:")Quantity> 0 and Quantity <25割引= 0。1 ElseIf Quantity> = 25そしてQuantity <50 then Discount = 0 15 ElseIf Quantity> = 50そしてQuantity <75 then Discount = 0.2 2 ElseIf Quantity> = 75 Then Discount = 0. 25 End If MsgBox "Discount:"& Discount End Sub

これらの複数のIf-Then構造はかなり面倒です。単純なバイナリの決定にのみIf-Then構造を使用することができます。

If-ThenをExcel 2016 VBAで使用する方法 - ダミー

エディタの選択

保育検索中に背景チェックを行う - ダミー

保育検索中に背景チェックを行う - ダミー

他の在宅育児提供者またはあなたのお子様をご家族のお子様に配慮することを検討している場合は、参照チェックとバックグラウンドチェックをお勧めします。家族の託児所運営の場合は、自宅にいる他の大人の警察にも尋ねてください。あなたは...

離婚や離婚後の父親へのダミー - ダミー

離婚や離婚後の父親へのダミー - ダミー

分離と離婚は、多くの父親が子供たちから離れていることです。分離は、あなたの子供や子供のための偉大なお父さんと役割モデルになり続けるための障壁にはならないはずです。非居住の父親と居間の父親の責任にはほとんど違いがありません。あなた...

エディタの選択

デジタル写真のフラッシュパワーを調整する - ダミー

デジタル写真のフラッシュパワーを調整する - ダミー

フラッシュを使用すると、デジタルカメラは自動的にフラッシュを設定しますそれは必要と思われるものに応じた力。しかし、多くのカメラでは、フラッシュ露出補正、またはフラッシュEVと呼ばれる機能によって、フラッシュ光の強さを調整できます。

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定の選択。カメラのイメージセンサの光感度を示します。 ISO番号が高いほど、カメラはより迅速に光に反応します。 ISO感度を高く設定すると光の感度は上がりますが、画像にノイズが加わることもあります。この図は、4枚の画像を示しています。

エディタの選択

WEPの弱点 - ダミー

WEPの弱点 - ダミー

セキュリティ研究者は悪意のあるユーザーが無線LAN(ワイヤレスローカルエリアネットワークWEP(Wired Equivalent Privacy)を使用しています。これらは、たとえば以下のようなものです。トラフィックを復号化するパッシブ攻撃:統計分析に基づいています。

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

アプリケーションで何かできるようになる前にログインする必要があります。意外なことに、これらはハッカーの大きな助けになることがあります。これらのログイン・メカニズムは、誤ったユーザーIDまたはパスワードを正常に処理しないことがよくあります。攻撃者が有効なユーザーIDとパスワードを収集するために使用することができる情報を漏洩させることがよくあります。 To ...

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

自宅からオフィスネットワークに接続するほとんどの人本当にちょうど彼らの電子メールが必要です。オフィスネットワークにアクセスする唯一の理由が電子メールを受け取ることだけであれば、この簡単で簡単なツール、OWAとも呼ばれるOutlook Web Appを試してみてください。このMicrosoft Exchange Server機能は、あなたの会社の電子メールにアクセスすることができます...