teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

select caseの例を追加

2017/09/28 06:07

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -18,4 +18,16 @@
18
18
  そもそも条件を関数化しなさいが、szk.さんの回答(私は、こちらが好み)
19
19
 
20
20
  で、私のいう趣旨は、そもそもパターンが重要だったら、結果が同じだからって、まとめちゃダメでしょ。っていうことです。
21
- 「ありがとう」を特定のパターンだけ「まことにありがとう」にするような変更が想定されるなら、条件をまとめないほうがよい。コードが重複するのがイヤなら、実行部分のコードを関数化しておけばよいかと。
21
+ 「ありがとう」を特定のパターンだけ「まことにありがとう」にするような変更が想定されるなら、条件をまとめないほうがよい。コードが重複するのがイヤなら、実行部分のコードを関数化しておけばよいかと。
22
+
23
+ ところで、一般的に多分岐はif文を使わないものかと・・・
24
+ ご存知かもしれませんが、select caseで複数条件はカンマでつなげればよいです。
25
+ これなら変更あって直すのは楽かなぁ。
26
+ ```VBA
27
+ Select Case condition
28
+ Case 0,1,3,5,7
29
+ Call setMsg("ありがとう")
30
+ Case 2,4,6,8
31
+ Call setMsg("thank you")
32
+ End Select
33
+ ```

1

別のかたの回答について

2017/09/28 06:07

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -12,4 +12,10 @@
12
12
  面倒なわりにろくな成果のでない作業が発生します。
13
13
 
14
14
  もしパターンと結果セットが同じ意味合いとして動作させる仕様であれば、そもそもの分岐の組み合わせ
15
- を網羅させる考え方が不要かと。
15
+ を網羅させる考え方が不要かと。
16
+
17
+ 条件をきちんと正規化するのが、maisumakunの回答。
18
+ そもそも条件を関数化しなさいが、szk.さんの回答(私は、こちらが好み)
19
+
20
+ で、私のいう趣旨は、そもそもパターンが重要だったら、結果が同じだからって、まとめちゃダメでしょ。っていうことです。
21
+ 「ありがとう」を特定のパターンだけ「まことにありがとう」にするような変更が想定されるなら、条件をまとめないほうがよい。コードが重複するのがイヤなら、実行部分のコードを関数化しておけばよいかと。