Excel 2016VBAでSelectCase構造を使用する方法

Excel 2016VBAでSelectCase構造を使用する方法

Select Case構造は、Excel 2016の3つ以上のオプションを含む決定に役立つVBA構造です(ただし、2つのオプションでも機能し、If-Then-Else構造の代替手段を提供します)。

SelectCaseの例

次の例は、SelectCase構造の使用方法を示しています。

サブShowDiscount3()
  薄暗い量
  ダブルとしての薄暗い割引
  数量= InputBox( "数量を入力:")
  ケース数量を選択
    ケース0から24
      割引= 0.1
    ケース25から49
      割引= 0.15
    ケース50から74
      割引= 0.2
    ケースは> = 75
      割引= 0.25
  選択を終了
  MsgBox「割引:」&割引
エンドサブ

この例では、Quantity変数が評価されています。ルーチンは、4つの異なるケース(0–24、25–49、50–74、および75以上)をチェックします。

各Caseステートメントの後には任意の数のステートメントを続けることができ、caseがtrueの場合はすべて実行されます。この例のように、ステートメントを1つだけ使用する場合は、Caseキーワードと同じ行に、コロン(VBAステートメント区切り文字)を前に付けてステートメントを配置できます。これにより、コードがよりコンパクトになり、少し明確になります。この形式でのルーチンの外観は次のとおりです。

サブShowDiscount4()
  薄暗い量
  ダブルとしての薄暗い割引
  数量= InputBox( "数量を入力:")
  ケース数量を選択
    ケース0から24:割引= 0.1
    ケース25から49:割引= 0.15
    ケース50から74:割引= 0.2
    ケースは> = 75:割引= 0.25
  選択を終了
  MsgBox「割引:」&割引
エンドサブ

VBAがSelectCase構造を実行すると、VBAが真のケースを見つけてそのケースのステートメントを実行するとすぐに、構造が終了します。

ネストされたSelectCaseの例

次の例に示すように、SelectCase構造をネストできます。このルーチンはアクティブセルを調べ、セルの内容を説明するメッセージを表示します。プロシージャには3つのSelectCase構造があり、それぞれに独自のEndSelectステートメントがあることに注意してください。

サブCheckCell()
  文字列としての薄暗いメッセージ
  Case IsEmpty(ActiveCell)を選択します
    ケーストゥルー
     Msg =「空白です。」
    ケースその他
     CaseActiveCell.HasFormulaを選択します
       ケーストゥルー
        Msg =「式があります」
       ケースその他
        Case IsNumeric(ActiveCell)を選択します
          ケーストゥルー
           Msg =「番号があります」
          ケースその他
           Msg =「テキストがあります」
        選択を終了
    選択を終了
  選択を終了
  MsgBox“ Cell“&ActiveCell.Address&““&Msg
エンドサブ

ロジックは次のようになります。

セルが空かどうかを調べます。

空でない場合は、数式が含まれているかどうかを確認してください。

数式がない場合は、数値またはテキストが含まれているかどうかを確認してください。

ルーチンが終了すると、Msg変数にはセルの内容を説明する文字列が含まれます。MsgBox関数はそのメッセージを表示します。

Excel 2016VBAでSelectCase構造を使用する方法

CheckCellプロシージャによって表示されるメッセージ。

Select Case構造を必要なだけ深くネストできますが、各SelectCaseステートメントに対応するEndSelectステートメントがあることを確認してください。

コードのインデントが努力する価値があるとまだ確信していない場合は、前のリストが良い例として役立ちます。入れ子のレベルを明確にするためのインデント。インデントなしで同じ手順を見てください。

サブCheckCell()
文字列としての薄暗いメッセージ
Case IsEmpty(ActiveCell)を選択します
ケーストゥルー
Msg =「空白です。」
ケースその他
CaseActiveCell.HasFormulaを選択します
ケーストゥルー
Msg =「式があります」
ケースその他
Case IsNumeric(ActiveCell)を選択します
ケーストゥルー
Msg =「番号があります」
ケースその他
Msg =「テキストがあります」
選択を終了
選択を終了
選択を終了
MsgBox“ Cell“&ActiveCell.Address&““&Msg
エンドサブ

かなり理解できないですよね?


スマートシート 9.1.1

スマートシート 9.1.1

Smartsheet は、プロジェクトの管理、ワークフローの構築、チームとの共同作業を可能にする動的な作業プラットフォームです。

共有ポイント

共有ポイント

SharePoint は、さまざまなワークフロー アプリケーション、「リスト」データベース、その他の Web コンポーネント、およびビジネス グループの共同作業を制御するためのセキュリティ機能を使用する Web ベースのコラボレーション システムです。

パーペチュアルカレンダー 1.0.38/1.0.36

パーペチュアルカレンダー 1.0.38/1.0.36

Van Nien Calendar は、携帯電話でカレンダーを表示するアプリケーションです。携帯電話で太陰太陽の日付をすぐに確認できるため、重要な仕事を計画することができます。

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook は、Microsoft Corporation によって開発されたビジネスおよび生産性アプリケーションです。

クリックアップ

クリックアップ

ClickUp は、あらゆるビジネスにとって最も評価の高い生産性プラットフォームの 1 つです。Google、Booking.com、サンディエゴ・パドレス、Uber などの大企業はすべて、職場の生産性を向上させるために ClickUp を使用しています。

PDF-XChange ビューア 2.5.322.10

PDF-XChange ビューア 2.5.322.10

PDF は、テキスト ドキュメントの読み取り、作成、送信に一般的に使用される形式になっています。その結果、この種のドキュメントに使用されるプログラムの数も増加しました。PDF-XChange Viewer は、ますます多くの PDF ビューアの 1 つです。

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice は、特に Excel、PowerPoint、Word など、Microsoft 365 に匹敵する Office アプリケーションの完全なスイートを提供します。プロジェクトをより効率的に管理できるようになり、いくつかのファイル形式がサポートされます。

iTaxviewer 1.8.7をダウンロード

iTaxviewer 1.8.7をダウンロード

iTaxViewer ソフトウェアは、現在最も人気のある XML ファイル読み取りソフトウェアです。このソフトウェアは、国税総局のXML形式の電子申告書を閲覧するためのアプリケーションです。

Nitro PDF リーダー

Nitro PDF リーダー

Nitro PDF Reader は、ほとんどの人が PDF ドキュメントを使用して毎日実行する基本的なタスクをすべてカバーする便利な PDF エディターです。

Foxit リーダー 12

Foxit リーダー 12

Foxit Reader は主に PDF リーダーですが、PDF ファイルの作成、署名、編集、注釈の追加も可能です。オペレーティング システム上で動作し、Microsoft Office パッケージのさまざまなプログラム用のプラグインがあります。