• ベストアンサー

Select Case組み合わせ条件について

例えば、「Aの値」&「Bの値」で処理をする場合には Select Case "A"&"B" Case "11" '(A=1&B=1の場合) で処理できると思うのですが、「B=1~5」として組み合わせることは可能でしょうか? 現在、下記のようにSelect文の中にSelectを組み合わせていますが、 どうにか上記のようにひとつのSelect文で処理できないかな~と思っています。 Select Case "A" Case 1 Select Case "B" Case 1 To 5 ご存知の方がいらっしゃいましたら、ぜひご回答の程お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

私なら、Select Caseをまとめて簡単に書こうと思ったら、ANo.3の nda23氏のような書き方をすると思いますが、その書き方について。 Select Case True   Case ???    :    : End Select の書き方をするなら、???の部分とTrueの比較が行われるので、???の部分は 全体で見て「論理式である」必要があります。 ANo.3の内容を書き換えるとすると、   Case A=1 And B>=1 And B<=5 みたいな感じになります。

ETKTK7
質問者

お礼

ありがとうございます。 教えていただいた記述で、完璧に処理できました! 感謝いたします。

すると、全ての回答が全文表示されます。

その他の回答 (4)

noname#60992
noname#60992
回答No.4

私がVBAでやってみたら、できましたが、 文字列のtoはいまいち信用ならないので case "11","12","13","14","15" のように記述したほうが良いかもしれません。 Private Sub コマンド0_Click() Select Case Me.テキスト1 & Me.テキスト3 Case "11" To "15" MsgBox "true" End Select End Sub

ETKTK7
質問者

お礼

説明不足でごめんなさい。 今回は、「A=あいう」と「B=2000~3000」といった文字列+数値(○~○)の組み合わせ条件にしたいのです。 確かに、文字列のToは信用ならない気が・・ ありがとうございます。

すると、全ての回答が全文表示されます。
  • nda23
  • ベストアンサー率54% (777/1416)
回答No.3

結論から言うと、できません。 以下のような書き方ができます。構文エラーと思われますが、何故か エラーになりません。しかし、期待した結果にはなりません。 Select Case True   Case A = 1, B = 1 To 5

ETKTK7
質問者

お礼

なるほど。 私も、こういう記述の方法は試してなかったので早速試してみました。 う~ん、エラーにはならず期待した結果も出ず。 どういった処理になっているのかわかりませんね。 ご回答、ありがとうございます。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

(1)case分のネストで1方をToで範囲化(質問の例) (2)組み合わせを具体化。その値を列挙(数に限りがあると思うが) (3)場合が多ければ、2次元の表化    余りルール性がなくても決定できるでしょう。    エクセルならシート利用。他なら配列利用か。    -X   Y   Z ・・・・ A   R1 R3 R2 B R3 R1 R2 C ・・・・ この表で縦軸と横軸を各々聞いて、該当交差セルのR2の処理に飛ばす。 (4)http://homepage1.nifty.com/rucio/main/technique/Select.htm の2つの変数を同時判断 という面白そうなの見つけたが、未検証。

ETKTK7
質問者

補足

ご回答、ありがとうございます。 今回作成しているものは、数千通りの値を処理するものです。 (4)のサイトは私も参考にしたのですが、うまくいきません。 AとBの両方ともが数値であれば良いのかもしれませんが、 今回、Aは文字、Bは数値です。 (3)を試してみたいのですが、エクセルに一覧表を作成して、 そこを参照させる・・という理解でOKでしょうか?

すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

> "A"&"B" ・・・これ「 A&B 」じゃない?(クォティション有無) http://www.google.co.jp/search?q=visualbasic%20select%20case&hl=ja&lr=lang_ja >「B=1~5」として組み合わせる 「条件分岐」を「ネスト」「入れ子」辺りで調べてごらん でも手っ取り早いのは連結した文字を数値化する事じゃない?

ETKTK7
質問者

お礼

ご回答、ありがとうございます。 ご指摘の通り・・クォティション要らずですね。 連結した文字の数値化、調べてやってみます。

すると、全ての回答が全文表示されます。

関連するQ&A