ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

式の値に応じて多分岐を行う(Switch 関数)

   

Switch 関数 の使い方


Switch 関数は、「式・値」を対にして指定して、左から順に評価し、最初に真(True)に評価された値を返します。

【書式】

result = Switch ( expr1, value1 [, expr2, value2, … , exprn, valuen ] )


引数・戻り値

  • expr1,expr2 … exprn  ・・・  評価対象の式を指定します。
  • value1,value2 … valuen  ・・・  対応する式( expr1, expr2 … exprn )が真(True)の場合に返す式・値を指定します。
  • result  ・・・  引数( expr1, expr2 … exprn )で最初に、真(True)と評価された式に対応する Value。


Switch 関数は、左から右の順で式を評価し、最初に真(True)と評価された式に対応した値(式)が返されますが、評価はすべての式に対して行われます。このため、評価すると 0 による除算エラーが発生する式が1つでも含まれている場合は、エラーとなります。

真(True)と評価された最初の式に、Null 値が関連付けられている場合、Null 値を返します。
また、すべての式が真(True)と評価されない場合も Null 値を返します。



Switch 関数 の使用例

サンプルVBAソース


実行結果(「2」を入力)

Switch 関数 例01

Switch 関数 例02

実行結果(「abc」を入力)

Switch 関数 例03

Switch 関数 例04




 - VBA基本 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

  関連記事

IgnoreCase プロパティ
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)

RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …

文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)

Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …

対象のオブジェクトをクリアする(Clear メソッド)

Clear メソッド 対象となるオブジェクト全体をクリアします。Range オブ …

変数が数値型かどうかをチェックする( IsNumeric 関数 )

IsNumeric 関数の使い方 【書式】 result = IsNumeric …

VBAの変数宣言

VBAの変数宣言について 変数を暗黙的に宣言する エクセル VBA の場合、明示 …

Volatile メソッド
ユーザー定義関数:自動再計算関数の設定(Volatile メソッド)

ユーザー定義関数で、自動再計算を行うかどうかを設定する ワークシート上で使用する …

DoEvents 関数 UserForm の設定
CPU に制御を移す(DoEvents 関数)

DoEvents 関数 DoEvents 関数を実行すると、CPU に制御を移し …

文字列:文字列左から指定文字数取得(Left 関数,LeftB 関数)

Left 関数・LeftB 関数 の使い方 【書式】 result_left = …

VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)

論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …

日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )

DateValue 関数(文字列から日付データを取得) 【書式】 date_va …