回答編集履歴

2

文章の追加

2017/12/28 02:35

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -145,3 +145,139 @@
145
145
  ```
146
146
 
147
147
  の意味になるので、これが原因?
148
+
149
+
150
+
151
+ ------------------------------------
152
+
153
+
154
+
155
+ [ 返信1 ]
156
+
157
+
158
+
159
+ 私が言いたかったものは「**構文ミス**」です。
160
+
161
+
162
+
163
+ C言語とかだとコンパイルエラーになるレベルじゃないですが、
164
+
165
+
166
+
167
+ 履き違えている感じ。
168
+
169
+
170
+
171
+ もう一度入門系のサイトか書籍をお読みください。
172
+
173
+
174
+
175
+ で、ご自分が質問したものと比較してください。
176
+
177
+
178
+
179
+ 質問者さんのは
180
+
181
+
182
+
183
+ ```VBA
184
+
185
+ If z = ("1:26") Then
186
+
187
+ Label7.Caption = "法令"
188
+
189
+ Else: z = ("27:40")
190
+
191
+ Label7.Caption = "化学"
192
+
193
+ End If
194
+
195
+ ```
196
+
197
+
198
+
199
+ となっていますよね?
200
+
201
+
202
+
203
+ Else以降を見てください。
204
+
205
+
206
+
207
+ Else: z = ("27:40")
208
+
209
+
210
+
211
+ となっていますね。
212
+
213
+
214
+
215
+ これって、コンパイラ(?) からすると
216
+
217
+
218
+
219
+ ```ここに言語を入力
220
+
221
+ Else:
222
+
223
+ z = ("27:40")
224
+
225
+ ```
226
+
227
+
228
+
229
+ っていう風に2種類の文になっています。
230
+
231
+
232
+
233
+ たぶん質問者さんは z が ("27:40") のとき...っていう感じだと思っているはずですが、
234
+
235
+
236
+
237
+ 実際には
238
+
239
+
240
+
241
+ 「それ以外なら z に ("27:40")を代入する」っていうことになっているためだと思います。
242
+
243
+
244
+
245
+ C言語で書くと
246
+
247
+
248
+
249
+ ```C
250
+
251
+ if( a == 100 ){
252
+
253
+
254
+
255
+ }else{
256
+
257
+ z = 20 // ここが問題のエリア
258
+
259
+ }
260
+
261
+ ```
262
+
263
+
264
+
265
+
266
+
267
+ ```C
268
+
269
+ if( a == 100 ){
270
+
271
+
272
+
273
+ }else if( z == 20 ){
274
+
275
+ // ここが問題のエリア?
276
+
277
+ }
278
+
279
+ ```
280
+
281
+
282
+
283
+ は まるっきり違います。

1

回答の追加

2017/12/28 02:34

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -7,3 +7,141 @@
7
7
 
8
8
 
9
9
  編集時に出てくる "</>" のボタンを押して、出てきたやつの中にソースコードを記述してください。
10
+
11
+
12
+
13
+ ------------------------------------
14
+
15
+
16
+
17
+ [追記1]
18
+
19
+
20
+
21
+ ソースコードを記述するときは、"</>"を押してその中に書いてください。
22
+
23
+
24
+
25
+ ここまではできていますが、
26
+
27
+
28
+
29
+ インデントが無いため読みづらい。
30
+
31
+
32
+
33
+ また、Sub に対する終了 ( End Sub ) もありません。
34
+
35
+
36
+
37
+ 質問時に書くのを忘れたのか、ソースコード自体がそれなのかが判断できないです。
38
+
39
+
40
+
41
+ 次に、問題となっている"なぜかA27からA40までのセルの表示が起こらない" はたぶん、
42
+
43
+
44
+
45
+ If文のElseの使い方が間違っているからだと思います。
46
+
47
+
48
+
49
+ 質問にある状態では、
50
+
51
+
52
+
53
+ ```VBA
54
+
55
+ If z = ("1:26") Then
56
+
57
+ Label7.Caption = "法令"
58
+
59
+ Else: z = ("27:40")
60
+
61
+ Label7.Caption = "化学"
62
+
63
+ End If
64
+
65
+ ```
66
+
67
+ となっています。
68
+
69
+
70
+
71
+ Elseの部分を見ると z = ("27... となっていますね。これ、条件式じゃなくて、代入になっているかも。
72
+
73
+
74
+
75
+ If文で条件が複数ある場合 ( 同時に満たすやつじゃない方 ) だと
76
+
77
+
78
+
79
+ ```VBA
80
+
81
+ If 条件1 Then
82
+
83
+ ' 条件1を満たしている場合
84
+
85
+ ElseIf 条件2 Then
86
+
87
+ ' 条件2を満たしている場合
88
+
89
+ ElseIf 条件3 Then
90
+
91
+ ' 条件3を満たしている場合
92
+
93
+ Else
94
+
95
+ ' 上記のどれにも引っかからなかった場合
96
+
97
+ End If
98
+
99
+ ```
100
+
101
+
102
+
103
+ になっていたと思います。
104
+
105
+
106
+
107
+ 質問にあるやつを考えると、
108
+
109
+
110
+
111
+ ```VBA
112
+
113
+ If z = ("1:26") Then
114
+
115
+ Label7.Caption = "法令"
116
+
117
+ Else: z = ("27:40")
118
+
119
+ Label7.Caption = "化学"
120
+
121
+ End If
122
+
123
+ ```
124
+
125
+
126
+
127
+ でしたよね。
128
+
129
+
130
+
131
+ ```VBA
132
+
133
+ If z = ("1:26") Then
134
+
135
+ Label7.Caption = "法令"
136
+
137
+ Else:
138
+
139
+ z = ("27:40") ' Zに代入
140
+
141
+ Label7.Caption = "化学" 'Label7のCaptionに代入
142
+
143
+ End If
144
+
145
+ ```
146
+
147
+ の意味になるので、これが原因?