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

回答編集履歴

3

修正

2019/04/04 12:14

投稿

mattuwan
mattuwan

スコア2167

answer CHANGED
@@ -1,4 +1,5 @@
1
+ なぜコメントが貰えないか考えて、疑
1
- なぜコメントが貰えないか、疑問に真っ直ぐに答えてないからだと気づきました。
2
+ 問に真っ直ぐに答えてないからだと気づきました。
2
3
  反射的に「こうしたらいいじゃん。」ってコード書いちゃったですが、
3
4
  全体を網羅してなかったので、再度書き込みます。
4
5
 
@@ -28,35 +29,34 @@
28
29
  ```VBA
29
30
  Option Explicit
30
31
 
31
- Dim mflgCmd As Boolean
32
32
 
33
33
  Private Sub UserForm_Initialize()
34
34
  初期化
35
35
  End Sub
36
36
 
37
37
  Private Sub OptionButton2_Change()
38
+ If Me.OptionButton2.Value Then
38
- With Me.TextBox1
39
+ With Me.TextBox1
39
- .Enabled = True
40
+ .Enabled = True
40
- .Locked = False
41
+ .Locked = False
41
- If mflgCmd = False Then .BackColor = vbWhite
42
+ .BackColor = vbWhite
43
+ .SetFocus
42
- End With
44
+ End With
43
- mflgCmd = False
45
+ End If
44
46
  End Sub
45
47
 
46
48
  Private Sub CommandButton1_Click()
47
- mflgCmd = True
48
-
49
49
  With ActiveSheet.Range("A1").CurrentRegion
50
50
  .Cells(.Rows.Count + 1, 1).Value = GetOPButtonValue
51
51
  End With
52
-
52
+
53
53
  初期化
54
54
  End Sub
55
55
 
56
56
  Private Function GetOPButtonValue() As String
57
57
  Dim C As MSForms.Control
58
58
  Dim s As String
59
-
59
+
60
60
  For Each C In Me.Controls
61
61
  If TypeName(C) = "OptionButton" Then
62
62
  If C.Value = True Then
@@ -67,10 +67,9 @@
67
67
  End If
68
68
  Exit For
69
69
  End If
70
-
71
70
  End If
72
71
  Next
73
-
72
+
74
73
  GetOPButtonValue = s
75
74
  End Function
76
75
 
@@ -84,6 +83,8 @@
84
83
  End With
85
84
  Me.OptionButton1.Value = False
86
85
  Me.OptionButton2.Value = False
87
-
88
86
  End Sub
89
- ```
87
+ ```
88
+
89
+ だめだ^^;勘が鈍ってる><
90
+ https://www.moug.net/faq/viewtopic.php?p=494370#494370

2

修正

2019/04/04 12:14

投稿

mattuwan
mattuwan

スコア2167

answer CHANGED
@@ -28,41 +28,35 @@
28
28
  ```VBA
29
29
  Option Explicit
30
30
 
31
+ Dim mflgCmd As Boolean
31
32
 
32
- Dim mflg As Boolean
33
-
34
33
  Private Sub UserForm_Initialize()
35
34
  初期化
36
35
  End Sub
37
36
 
38
-
39
37
  Private Sub OptionButton2_Change()
40
38
  With Me.TextBox1
41
39
  .Enabled = True
42
40
  .Locked = False
43
- .BackColor = vbWhite
41
+ If mflgCmd = False Then .BackColor = vbWhite
44
42
  End With
43
+ mflgCmd = False
45
44
  End Sub
46
45
 
47
46
  Private Sub CommandButton1_Click()
47
+ mflgCmd = True
48
+
48
49
  With ActiveSheet.Range("A1").CurrentRegion
49
50
  .Cells(.Rows.Count + 1, 1).Value = GetOPButtonValue
50
51
  End With
51
-
52
+
52
53
  初期化
53
-
54
- If mflg = False Then
55
- mflg = True
56
- CommandButton1_Click
57
- Else
58
- mflg = False
59
- End If
60
54
  End Sub
61
55
 
62
56
  Private Function GetOPButtonValue() As String
63
57
  Dim C As MSForms.Control
64
58
  Dim s As String
65
-
59
+
66
60
  For Each C In Me.Controls
67
61
  If TypeName(C) = "OptionButton" Then
68
62
  If C.Value = True Then
@@ -73,10 +67,10 @@
73
67
  End If
74
68
  Exit For
75
69
  End If
76
-
70
+
77
71
  End If
78
72
  Next
79
-
73
+
80
74
  GetOPButtonValue = s
81
75
  End Function
82
76
 
@@ -90,11 +84,6 @@
90
84
  End With
91
85
  Me.OptionButton1.Value = False
92
86
  Me.OptionButton2.Value = False
93
-
87
+
94
88
  End Sub
95
- ```
89
+ ```
96
- う~~ん。
97
- 1番の質問の色が変わらない現象確認しました^^;
98
- 原因&回避方法がわからないので、
99
- 力技で回避^^;(なぜかもう1回コマンドボタンをクリックしたことにすると変わる^^;)
100
- (内緒で他の掲示板で聞いてみてます。^^;;)

1

修正

2019/04/04 12:03

投稿

mattuwan
mattuwan

スコア2167

answer CHANGED
@@ -94,7 +94,7 @@
94
94
  End Sub
95
95
  ```
96
96
  う~~ん。
97
- 2番の質問の色が変わらない現象確認しました^^;
97
+ 1番の質問の色が変わらない現象確認しました^^;
98
98
  原因&回避方法がわからないので、
99
- 力技で回避^^;
99
+ 力技で回避^^;(なぜかもう1回コマンドボタンをクリックしたことにすると変わる^^;)
100
100
  (内緒で他の掲示板で聞いてみてます。^^;;)