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

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

目次:

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

ビデオ: 【初心者向けエクセルVBA】If~Thenを使った条件分岐の超入門 2025
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で使用する方法 - ダミー

エディタの選択

SketchUpのステータスバー - ダミー

SketchUpのステータスバー - ダミー

SketchUpのステータスバーには、モデリング中に使用するコンテキスト情報が含まれています。モデリングウィンドウの下の狭い情報には、情報の良さが満載されています。コンテキスト固有の指示:ほとんどの場合、ここでは何をしているのかを確認するためにここでチェックします。モディファイアキー(組み合わせて使用​​するキーボードストローク)

スケッチツールにインテリジェントに反応するよう設計されたダミー

スケッチツールにインテリジェントに反応するよう設計されたダミー

ダイナミックコンポーネント(DC) SketchUpが提供する真の魔法に最も近いもの。あなたがそれらを拡大縮小するときに、伸ばしたり歪んだりするのではなく、寸法を変更するはずの部品は、他の部分はしません。

SketchUpの投影テクスチャ曲線にテクスチャを追加する方法 - 複雑な曲線に画像を描くためのダミー

SketchUpの投影テクスチャ曲線にテクスチャを追加する方法 - 複雑な曲線に画像を描くためのダミー

SketchUpのサーフェスには、このメソッドの代わりはありません。地形の塊は、複雑な曲面の良い例です - 凹凸、ねじれ、波紋、多方向。扱っているカーブが単純な押し出しよりも複雑な場合は、この画像マッピングテクニックを使用する必要があります。キー...

エディタの選択

QuickBooks 2013のアイテムリストにSales Tax ItemまたはGroupを追加する方法 - ダミー

QuickBooks 2013のアイテムリストにSales Tax ItemまたはGroupを追加する方法 - ダミー

販売税の対象となる商品を販売する場合、QuickBooks 2013請求書には、これらの売上税を請求して追跡する広告申込情報も含まれます。これを行うには、売上税明細を登録します。販売税項目を登録するには、新規項目ウィンドウを表示し、タイプ...から販売税項目を選択します。

QuickBooks 2012のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2012のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2012でサービスアイテムを使用して、サービスを表すアイテムを購入または請求します。たとえば、CPAは、個人や企業に対して納税申告書を作成します。納税申告書を準備するためにクライアントに請求する場合、納税申告書の請求書に表示される明細はサービス項目です。 ...

QuickBooks 2013のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2013のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2013のサービスアイテムを使用して、サービスを表すアイテムを購入または請求します。たとえば、CPAは、個人や企業に対して納税申告書を作成します。納税申告書を準備するためにクライアントに請求する場合、納税申告書の請求書に表示される明細はサービス項目です。 ...

エディタの選択

WordPressブログのユーザーと著者を管理する方法 - ダミー

WordPressブログのユーザーと著者を管理する方法 - ダミー

WordPressユーザーページには、あなたのブログのすべてのユーザーが表示されます。各ユーザーのユーザー名、名前、電子メールアドレス、ブログの役割、およびブログに投稿された投稿の数が表示されます。フォロワー:このデフォルトロールは、...

WordPress Permalinkをサーバーと連携させる方法 - ダミー

WordPress Permalinkをサーバーと連携させる方法 - ダミー

デフォルト以外のオプションを使用してWordPressサイトのパーマリンクの場合、WordPressは特定のルールまたはディレクティブを.txtファイルに書き込みます。あなたのWebサーバー上のhtaccessファイル。 permalinkによると、htaccessファイルはあなたのWebサーバーと交信して、パーマリンクをどのように提供すべきかを示します。

WordPressブログを修正する方法 - ダミー

WordPressブログを修正する方法 - ダミー

WordPressブログをインストールした後、それがリンクされているウェブサイトに合ったブログ。既存のテーマ(スキン)を変更したり、WordPressをインストールした後に使用できる代替語句を選択することができます。選択したテンプレートがメインWebサイトに似ていることを確認してください。ただし、WordPressは...