質問編集履歴

4

コードの修正。

2019/01/25 01:00

投稿

jimunomado
jimunomado

スコア19

test CHANGED
File without changes
test CHANGED
@@ -244,6 +244,8 @@
244
244
 
245
245
  皆様のアドバイスを参考に、以下のようなコードになりました。
246
246
 
247
+ ※2019/01/25追記:コードに誤りがあったため下記修正いたしました。コメントアウトにて修正箇所記入しております。
248
+
247
249
 
248
250
 
249
251
  ```VBA
@@ -258,7 +260,9 @@
258
260
 
259
261
 
260
262
 
261
- Private Sub UserForm1_Initialize()
263
+ Private Sub UserForm_Initialize()
264
+
265
+ 'UserForm1・・・という書き方をしていたのですが、こちらが誤りであると別質問をした際に気が付きました。
262
266
 
263
267
  TextBox3.Enabled = False
264
268
 

3

記載していた追加質問の削除。

2019/01/25 01:00

投稿

jimunomado
jimunomado

スコア19

test CHANGED
File without changes
test CHANGED
@@ -349,117 +349,3 @@
349
349
  当初希望していた「オプションボタンで選択するまではテキストボックスはEnabled.Falseにしたい」という点は、よくよく考えたところ必要ないことがわかりましたので、実装しないことにしました。
350
350
 
351
351
  またEnabled.Falseにしたテキストボックスについては、背景色をグレーにすることにしました。
352
-
353
-
354
-
355
- ### 追加質問(入力フォーム起動時のTextBox.Enabledについて)
356
-
357
- みなさまのアドバイスのおかげで、やりたかったことの九割が実現しました!本当にありがとうございます。
358
-
359
- しかしながら一件だけ解決しないので、教えていただけないでしょうか。
360
-
361
-
362
-
363
- ユーザーフォームを起動した段階で、男性用女性用のテキストボックスは入力できない状態にしたい(オプションボタンをクリックして初めて入力できるようにしたい)と思っているのですが、UserForm1_initializeにコードを書いても反映されません。
364
-
365
- 何が原因でしょうか?
366
-
367
-
368
-
369
- ```VBA
370
-
371
- Option Explicit
372
-
373
-
374
-
375
- Private sex As String
376
-
377
- Private lastRow As Long
378
-
379
-
380
-
381
- Private Sub UserForm1_Initialize()
382
-
383
- TextBox3.Enabled = False
384
-
385
- TextBox3.BackColor = &HC0C0C0
386
-
387
- TextBox4.Enabled = False
388
-
389
- TextBox4.BackColor = &HC0C0C0
390
-
391
- End Sub
392
-
393
-
394
-
395
-
396
-
397
- Private Sub CommandButton1_click()
398
-
399
-
400
-
401
- With Worksheets("Sheet1")
402
-
403
- lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
404
-
405
- .Cells(lastRow, 1).Value = TextBox1.Text
406
-
407
- .Cells(lastRow, 2).Value = sex
408
-
409
- .Cells(lastRow, 3).Value = TextBox3.Text
410
-
411
- .Cells(lastRow, 4).Value = TextBox4.Text
412
-
413
- End With
414
-
415
-
416
-
417
- TextBox1.Text = ""
418
-
419
- male.Value = False
420
-
421
- female.Value = False
422
-
423
- TextBox3.Text = ""
424
-
425
- TextBox4.Text = ""
426
-
427
-
428
-
429
- End Sub
430
-
431
-
432
-
433
-
434
-
435
- Private Sub male_click()
436
-
437
- sex = "男性"
438
-
439
- TextBox3.Enabled = True
440
-
441
- TextBox4.Enabled = False
442
-
443
- TextBox3.BackColor = &HFFFFFF
444
-
445
- TextBox4.BackColor = &HC0C0C0
446
-
447
- End Sub
448
-
449
-
450
-
451
- Private Sub female_click()
452
-
453
- sex = "女性"
454
-
455
- TextBox3.Enabled = False
456
-
457
- TextBox4.Enabled = True
458
-
459
- TextBox4.BackColor = &HFFFFFF
460
-
461
- TextBox3.BackColor = &HC0C0C0
462
-
463
- End Sub
464
-
465
- ```

2

お礼と最終的なコードの記載。

2019/01/23 07:39

投稿

jimunomado
jimunomado

スコア19

test CHANGED
File without changes
test CHANGED
@@ -236,6 +236,122 @@
236
236
 
237
237
 
238
238
 
239
+ ### お礼と最終的なコード
240
+
241
+ 皆様ご回答いただきありがとうございました。大変勉強になりました。
242
+
243
+ ベストアンサーはhatena19さまにさせていただきました。
244
+
245
+ 皆様のアドバイスを参考に、以下のようなコードになりました。
246
+
247
+
248
+
249
+ ```VBA
250
+
251
+ Option Explicit
252
+
253
+
254
+
255
+ Private sex As String
256
+
257
+ Private lastRow As Long
258
+
259
+
260
+
261
+ Private Sub UserForm1_Initialize()
262
+
263
+ TextBox3.Enabled = False
264
+
265
+ TextBox3.BackColor = &HC0C0C0
266
+
267
+ TextBox4.Enabled = False
268
+
269
+ TextBox4.BackColor = &HC0C0C0
270
+
271
+ End Sub
272
+
273
+
274
+
275
+
276
+
277
+ Private Sub CommandButton1_click()
278
+
279
+
280
+
281
+ With Worksheets("Sheet1")
282
+
283
+ lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
284
+
285
+ .Cells(lastRow, 1).Value = TextBox1.Text
286
+
287
+ .Cells(lastRow, 2).Value = sex
288
+
289
+ .Cells(lastRow, 3).Value = TextBox3.Text
290
+
291
+ .Cells(lastRow, 4).Value = TextBox4.Text
292
+
293
+ End With
294
+
295
+
296
+
297
+ TextBox1.Text = ""
298
+
299
+ male.Value = False
300
+
301
+ female.Value = False
302
+
303
+ TextBox3.Text = ""
304
+
305
+ TextBox4.Text = ""
306
+
307
+ TextBox5.Text = ""
308
+
309
+
310
+
311
+ End Sub
312
+
313
+
314
+
315
+
316
+
317
+ Private Sub male_click()
318
+
319
+ sex = "男性"
320
+
321
+ TextBox3.Enabled = True
322
+
323
+ TextBox4.Enabled = False
324
+
325
+ TextBox3.BackColor = &HFFFFFF
326
+
327
+ TextBox4.BackColor = &HC0C0C0
328
+
329
+ End Sub
330
+
331
+
332
+
333
+ Private Sub female_click()
334
+
335
+ sex = "女性"
336
+
337
+ TextBox3.Enabled = False
338
+
339
+ TextBox4.Enabled = True
340
+
341
+ TextBox4.BackColor = &HFFFFFF
342
+
343
+ TextBox3.BackColor = &HC0C0C0
344
+
345
+ End Sub
346
+
347
+ ```
348
+
349
+ 当初希望していた「オプションボタンで選択するまではテキストボックスはEnabled.Falseにしたい」という点は、よくよく考えたところ必要ないことがわかりましたので、実装しないことにしました。
350
+
351
+ またEnabled.Falseにしたテキストボックスについては、背景色をグレーにすることにしました。
352
+
353
+
354
+
239
355
  ### 追加質問(入力フォーム起動時のTextBox.Enabledについて)
240
356
 
241
357
  みなさまのアドバイスのおかげで、やりたかったことの九割が実現しました!本当にありがとうございます。

1

追加質問の記載。

2019/01/23 07:37

投稿

jimunomado
jimunomado

スコア19

test CHANGED
File without changes
test CHANGED
@@ -233,3 +233,117 @@
233
233
  また当方VBAを独学で学んでいる初心者です。初歩的なところで間違いなどしているかと思います。
234
234
 
235
235
  どうぞお手柔らかにお願いいたします。
236
+
237
+
238
+
239
+ ### 追加質問(入力フォーム起動時のTextBox.Enabledについて)
240
+
241
+ みなさまのアドバイスのおかげで、やりたかったことの九割が実現しました!本当にありがとうございます。
242
+
243
+ しかしながら一件だけ解決しないので、教えていただけないでしょうか。
244
+
245
+
246
+
247
+ ユーザーフォームを起動した段階で、男性用女性用のテキストボックスは入力できない状態にしたい(オプションボタンをクリックして初めて入力できるようにしたい)と思っているのですが、UserForm1_initializeにコードを書いても反映されません。
248
+
249
+ 何が原因でしょうか?
250
+
251
+
252
+
253
+ ```VBA
254
+
255
+ Option Explicit
256
+
257
+
258
+
259
+ Private sex As String
260
+
261
+ Private lastRow As Long
262
+
263
+
264
+
265
+ Private Sub UserForm1_Initialize()
266
+
267
+ TextBox3.Enabled = False
268
+
269
+ TextBox3.BackColor = &HC0C0C0
270
+
271
+ TextBox4.Enabled = False
272
+
273
+ TextBox4.BackColor = &HC0C0C0
274
+
275
+ End Sub
276
+
277
+
278
+
279
+
280
+
281
+ Private Sub CommandButton1_click()
282
+
283
+
284
+
285
+ With Worksheets("Sheet1")
286
+
287
+ lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
288
+
289
+ .Cells(lastRow, 1).Value = TextBox1.Text
290
+
291
+ .Cells(lastRow, 2).Value = sex
292
+
293
+ .Cells(lastRow, 3).Value = TextBox3.Text
294
+
295
+ .Cells(lastRow, 4).Value = TextBox4.Text
296
+
297
+ End With
298
+
299
+
300
+
301
+ TextBox1.Text = ""
302
+
303
+ male.Value = False
304
+
305
+ female.Value = False
306
+
307
+ TextBox3.Text = ""
308
+
309
+ TextBox4.Text = ""
310
+
311
+
312
+
313
+ End Sub
314
+
315
+
316
+
317
+
318
+
319
+ Private Sub male_click()
320
+
321
+ sex = "男性"
322
+
323
+ TextBox3.Enabled = True
324
+
325
+ TextBox4.Enabled = False
326
+
327
+ TextBox3.BackColor = &HFFFFFF
328
+
329
+ TextBox4.BackColor = &HC0C0C0
330
+
331
+ End Sub
332
+
333
+
334
+
335
+ Private Sub female_click()
336
+
337
+ sex = "女性"
338
+
339
+ TextBox3.Enabled = False
340
+
341
+ TextBox4.Enabled = True
342
+
343
+ TextBox4.BackColor = &HFFFFFF
344
+
345
+ TextBox3.BackColor = &HC0C0C0
346
+
347
+ End Sub
348
+
349
+ ```