回答編集履歴

2

select caseの例を追加

2017/09/28 06:07

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -39,3 +39,27 @@
39
39
  で、私のいう趣旨は、そもそもパターンが重要だったら、結果が同じだからって、まとめちゃダメでしょ。っていうことです。
40
40
 
41
41
  「ありがとう」を特定のパターンだけ「まことにありがとう」にするような変更が想定されるなら、条件をまとめないほうがよい。コードが重複するのがイヤなら、実行部分のコードを関数化しておけばよいかと。
42
+
43
+
44
+
45
+ ところで、一般的に多分岐はif文を使わないものかと・・・
46
+
47
+ ご存知かもしれませんが、select caseで複数条件はカンマでつなげればよいです。
48
+
49
+ これなら変更あって直すのは楽かなぁ。
50
+
51
+ ```VBA
52
+
53
+ Select Case condition
54
+
55
+ Case 0,1,3,5,7
56
+
57
+ Call setMsg("ありがとう")
58
+
59
+ Case 2,4,6,8
60
+
61
+ Call setMsg("thank you")
62
+
63
+ End Select
64
+
65
+ ```

1

別のかたの回答について

2017/09/28 06:07

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -27,3 +27,15 @@
27
27
  もしパターンと結果セットが同じ意味合いとして動作させる仕様であれば、そもそもの分岐の組み合わせ
28
28
 
29
29
  を網羅させる考え方が不要かと。
30
+
31
+
32
+
33
+ 条件をきちんと正規化するのが、maisumakunの回答。
34
+
35
+ そもそも条件を関数化しなさいが、szk.さんの回答(私は、こちらが好み)
36
+
37
+
38
+
39
+ で、私のいう趣旨は、そもそもパターンが重要だったら、結果が同じだからって、まとめちゃダメでしょ。っていうことです。
40
+
41
+ 「ありがとう」を特定のパターンだけ「まことにありがとう」にするような変更が想定されるなら、条件をまとめないほうがよい。コードが重複するのがイヤなら、実行部分のコードを関数化しておけばよいかと。