★Select Case 条件式の答えがたくさん! | |||
◎ 条件式の答えがAの場合、Bの場合、Cの場合、Dの場合、Eの場合と複数になるときに便利なステートメントです。 If...Then...Elseステートメントを使ったときのElseIfの後に条件式を一回ずつ記述するような代わりに使いますよ。 |
|||
Select Case 条件式 Case 答えA Aの処理 Case 答えB Bの処理 Case 答えC Cの処理 Case 答えD Dの処理 End Select |
|||
例 セルB3の値が、"足し算" なら B1+C1=D1 の値が、"引き算" なら B1−C1=D1 の値が、"掛け算" なら B1×C1=D1 の値が、"割り算" なら B1÷C1=D1 で計算をしなさい。答えはD1に入力してちょうだい。 こんな感じで簡単な問題に対して、答えが複数になり、それぞれの答えに対して処理を変えたい時には、実に便利なツールです。 |
|||
とりあえずB1には"6"を、C1には"3"を入力しました。 それからついでにシート上にコマンドボタンをひとつ貼り付けましょう。 貼り付けたら、ボタンをダブルクリックして、VBE画面を出します。 |
|||
まずプロパティ画面でCaptionだけ”答え”と書き換えておきましょうね。 続いてコードを記述しますよ。 Private Sub CommandButton1_Click() 'A1の値を条件にして、B1とC1の計算方法を変化させD1に結果を返します。 Select Case Range("A1") Case "足し算" Range("D1") = Range("B1") + Range("C1") Case "引き算" Range("D1") = Range("B1") - Range("C1") Case "掛け算" Range("D1") = Range("B1") * Range("C1") Case "割り算" Range("D1") = Range("B1") / Range("C1") End Select End Sub |
|||
さて実行結果はどうでしょうか? A1にイチイチ足し算や引き算って入力するのが面倒な方は、コンボボックスやリストボックスなどいろいろなツールで工夫して下さいね。私は手を抜いてやめておきます。 |
|||
うまく出来ましたか? Select Caseの答えの中にまたIf構文なんかの入れ子をしてもOKです。 いろいろ工夫すると複雑なプログラムも作れますよ。 私が作ったシートはこちら・・・ダウンロード |
|||
|