回答編集履歴
2
三項演算子の記述誤り
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
三項演算子版 追記
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 はどうだろう)
|