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

回答編集履歴

2

三項演算子の記述誤り

2016/01/29 02:54

投稿

sk_3122
sk_3122

スコア1126

answer CHANGED
@@ -35,14 +35,14 @@
35
35
 
36
36
  ```VB
37
37
  If A = 0 Then
38
- error01 &= IIf(error01 <> ",", "") & "A"
38
+ error01 &= IIf(error01 <> "", ",", "") & "A"
39
39
  End If
40
40
  ```
41
41
  本当に例示のように、変数の桁数が揃ってるなら、このくらいの長さなら一行で書いちゃいますかね 私なら。
42
42
  変数名の桁数が異なるようだとガタガタして見辛い気がしますが。
43
43
  ```VB
44
- If A = 0 Then error01 &= IIf(error01 <> ",", "") & "A"
44
+ If A = 0 Then error01 &= IIf(error01 <> "", ",", "") & "A"
45
- If B = 0 Then error01 &= IIf(error01 <> ",", "") & "B"
45
+ If B = 0 Then error01 &= IIf(error01 <> "", ",", "") & "B"
46
- If C = 0 Then error01 &= IIf(error01 <> ",", "") & "C"
46
+ If C = 0 Then error01 &= IIf(error01 <> "", ",", "") & "C"
47
47
  ```
48
48
  (VB ではこの書き方ができますが、VBA はどうだろう)

1

三項演算子版 追記

2016/01/29 02:54

投稿

sk_3122
sk_3122

スコア1126

answer CHANGED
@@ -25,4 +25,24 @@
25
25
 
26
26
  もしエラーだったら、まず error01 が空かどうかを調べて、空でなければカンマを追加します。
27
27
  それからエラー文字列を追加していきます。
28
- どうですかね。
28
+ どうですかね。
29
+
30
+ ----------
31
+
32
+ 【追記】
33
+
34
+ VBA も三項演算子 使えるのか。そっちのほうがすっきりしますかね。
35
+
36
+ ```VB
37
+ If A = 0 Then
38
+ error01 &= IIf(error01 <> ",", "") & "A"
39
+ End If
40
+ ```
41
+ 本当に例示のように、変数の桁数が揃ってるなら、このくらいの長さなら一行で書いちゃいますかね 私なら。
42
+ 変数名の桁数が異なるようだとガタガタして見辛い気がしますが。
43
+ ```VB
44
+ If A = 0 Then error01 &= IIf(error01 <> ",", "") & "A"
45
+ If B = 0 Then error01 &= IIf(error01 <> ",", "") & "B"
46
+ If C = 0 Then error01 &= IIf(error01 <> ",", "") & "C"
47
+ ```
48
+ (VB ではこの書き方ができますが、VBA はどうだろう)