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

質問編集履歴

4

コードの修正。

2019/01/25 01:00

投稿

jimunomado
jimunomado

スコア20

title CHANGED
File without changes
body CHANGED
@@ -121,6 +121,7 @@
121
121
  皆様ご回答いただきありがとうございました。大変勉強になりました。
122
122
  ベストアンサーはhatena19さまにさせていただきました。
123
123
  皆様のアドバイスを参考に、以下のようなコードになりました。
124
+ ※2019/01/25追記:コードに誤りがあったため下記修正いたしました。コメントアウトにて修正箇所記入しております。
124
125
 
125
126
  ```VBA
126
127
  Option Explicit
@@ -128,7 +129,8 @@
128
129
  Private sex As String
129
130
  Private lastRow As Long
130
131
 
131
- Private Sub UserForm1_Initialize()
132
+ Private Sub UserForm_Initialize()
133
+ 'UserForm1・・・という書き方をしていたのですが、こちらが誤りであると別質問をした際に気が付きました。
132
134
  TextBox3.Enabled = False
133
135
  TextBox3.BackColor = &HC0C0C0
134
136
  TextBox4.Enabled = False

3

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

2019/01/25 01:00

投稿

jimunomado
jimunomado

スコア20

title CHANGED
File without changes
body CHANGED
@@ -173,61 +173,4 @@
173
173
  End Sub
174
174
  ```
175
175
  当初希望していた「オプションボタンで選択するまではテキストボックスはEnabled.Falseにしたい」という点は、よくよく考えたところ必要ないことがわかりましたので、実装しないことにしました。
176
- またEnabled.Falseにしたテキストボックスについては、背景色をグレーにすることにしました。
176
+ またEnabled.Falseにしたテキストボックスについては、背景色をグレーにすることにしました。
177
-
178
- ### 追加質問(入力フォーム起動時のTextBox.Enabledについて)
179
- みなさまのアドバイスのおかげで、やりたかったことの九割が実現しました!本当にありがとうございます。
180
- しかしながら一件だけ解決しないので、教えていただけないでしょうか。
181
-
182
- ユーザーフォームを起動した段階で、男性用女性用のテキストボックスは入力できない状態にしたい(オプションボタンをクリックして初めて入力できるようにしたい)と思っているのですが、UserForm1_initializeにコードを書いても反映されません。
183
- 何が原因でしょうか?
184
-
185
- ```VBA
186
- Option Explicit
187
-
188
- Private sex As String
189
- Private lastRow As Long
190
-
191
- Private Sub UserForm1_Initialize()
192
- TextBox3.Enabled = False
193
- TextBox3.BackColor = &HC0C0C0
194
- TextBox4.Enabled = False
195
- TextBox4.BackColor = &HC0C0C0
196
- End Sub
197
-
198
-
199
- Private Sub CommandButton1_click()
200
-
201
- With Worksheets("Sheet1")
202
- lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
203
- .Cells(lastRow, 1).Value = TextBox1.Text
204
- .Cells(lastRow, 2).Value = sex
205
- .Cells(lastRow, 3).Value = TextBox3.Text
206
- .Cells(lastRow, 4).Value = TextBox4.Text
207
- End With
208
-
209
- TextBox1.Text = ""
210
- male.Value = False
211
- female.Value = False
212
- TextBox3.Text = ""
213
- TextBox4.Text = ""
214
-
215
- End Sub
216
-
217
-
218
- Private Sub male_click()
219
- sex = "男性"
220
- TextBox3.Enabled = True
221
- TextBox4.Enabled = False
222
- TextBox3.BackColor = &HFFFFFF
223
- TextBox4.BackColor = &HC0C0C0
224
- End Sub
225
-
226
- Private Sub female_click()
227
- sex = "女性"
228
- TextBox3.Enabled = False
229
- TextBox4.Enabled = True
230
- TextBox4.BackColor = &HFFFFFF
231
- TextBox3.BackColor = &HC0C0C0
232
- End Sub
233
- ```

2

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

2019/01/23 07:39

投稿

jimunomado
jimunomado

スコア20

title CHANGED
File without changes
body CHANGED
@@ -117,6 +117,64 @@
117
117
  また当方VBAを独学で学んでいる初心者です。初歩的なところで間違いなどしているかと思います。
118
118
  どうぞお手柔らかにお願いいたします。
119
119
 
120
+ ### お礼と最終的なコード
121
+ 皆様ご回答いただきありがとうございました。大変勉強になりました。
122
+ ベストアンサーはhatena19さまにさせていただきました。
123
+ 皆様のアドバイスを参考に、以下のようなコードになりました。
124
+
125
+ ```VBA
126
+ Option Explicit
127
+
128
+ Private sex As String
129
+ Private lastRow As Long
130
+
131
+ Private Sub UserForm1_Initialize()
132
+ TextBox3.Enabled = False
133
+ TextBox3.BackColor = &HC0C0C0
134
+ TextBox4.Enabled = False
135
+ TextBox4.BackColor = &HC0C0C0
136
+ End Sub
137
+
138
+
139
+ Private Sub CommandButton1_click()
140
+
141
+ With Worksheets("Sheet1")
142
+ lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
143
+ .Cells(lastRow, 1).Value = TextBox1.Text
144
+ .Cells(lastRow, 2).Value = sex
145
+ .Cells(lastRow, 3).Value = TextBox3.Text
146
+ .Cells(lastRow, 4).Value = TextBox4.Text
147
+ End With
148
+
149
+ TextBox1.Text = ""
150
+ male.Value = False
151
+ female.Value = False
152
+ TextBox3.Text = ""
153
+ TextBox4.Text = ""
154
+ TextBox5.Text = ""
155
+
156
+ End Sub
157
+
158
+
159
+ Private Sub male_click()
160
+ sex = "男性"
161
+ TextBox3.Enabled = True
162
+ TextBox4.Enabled = False
163
+ TextBox3.BackColor = &HFFFFFF
164
+ TextBox4.BackColor = &HC0C0C0
165
+ End Sub
166
+
167
+ Private Sub female_click()
168
+ sex = "女性"
169
+ TextBox3.Enabled = False
170
+ TextBox4.Enabled = True
171
+ TextBox4.BackColor = &HFFFFFF
172
+ TextBox3.BackColor = &HC0C0C0
173
+ End Sub
174
+ ```
175
+ 当初希望していた「オプションボタンで選択するまではテキストボックスはEnabled.Falseにしたい」という点は、よくよく考えたところ必要ないことがわかりましたので、実装しないことにしました。
176
+ またEnabled.Falseにしたテキストボックスについては、背景色をグレーにすることにしました。
177
+
120
178
  ### 追加質問(入力フォーム起動時のTextBox.Enabledについて)
121
179
  みなさまのアドバイスのおかげで、やりたかったことの九割が実現しました!本当にありがとうございます。
122
180
  しかしながら一件だけ解決しないので、教えていただけないでしょうか。

1

追加質問の記載。

2019/01/23 07:37

投稿

jimunomado
jimunomado

スコア20

title CHANGED
File without changes
body CHANGED
@@ -115,4 +115,61 @@
115
115
 
116
116
  Excel2010、Win7 64bit版で操作しています。
117
117
  また当方VBAを独学で学んでいる初心者です。初歩的なところで間違いなどしているかと思います。
118
- どうぞお手柔らかにお願いいたします。
118
+ どうぞお手柔らかにお願いいたします。
119
+
120
+ ### 追加質問(入力フォーム起動時のTextBox.Enabledについて)
121
+ みなさまのアドバイスのおかげで、やりたかったことの九割が実現しました!本当にありがとうございます。
122
+ しかしながら一件だけ解決しないので、教えていただけないでしょうか。
123
+
124
+ ユーザーフォームを起動した段階で、男性用女性用のテキストボックスは入力できない状態にしたい(オプションボタンをクリックして初めて入力できるようにしたい)と思っているのですが、UserForm1_initializeにコードを書いても反映されません。
125
+ 何が原因でしょうか?
126
+
127
+ ```VBA
128
+ Option Explicit
129
+
130
+ Private sex As String
131
+ Private lastRow As Long
132
+
133
+ Private Sub UserForm1_Initialize()
134
+ TextBox3.Enabled = False
135
+ TextBox3.BackColor = &HC0C0C0
136
+ TextBox4.Enabled = False
137
+ TextBox4.BackColor = &HC0C0C0
138
+ End Sub
139
+
140
+
141
+ Private Sub CommandButton1_click()
142
+
143
+ With Worksheets("Sheet1")
144
+ lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
145
+ .Cells(lastRow, 1).Value = TextBox1.Text
146
+ .Cells(lastRow, 2).Value = sex
147
+ .Cells(lastRow, 3).Value = TextBox3.Text
148
+ .Cells(lastRow, 4).Value = TextBox4.Text
149
+ End With
150
+
151
+ TextBox1.Text = ""
152
+ male.Value = False
153
+ female.Value = False
154
+ TextBox3.Text = ""
155
+ TextBox4.Text = ""
156
+
157
+ End Sub
158
+
159
+
160
+ Private Sub male_click()
161
+ sex = "男性"
162
+ TextBox3.Enabled = True
163
+ TextBox4.Enabled = False
164
+ TextBox3.BackColor = &HFFFFFF
165
+ TextBox4.BackColor = &HC0C0C0
166
+ End Sub
167
+
168
+ Private Sub female_click()
169
+ sex = "女性"
170
+ TextBox3.Enabled = False
171
+ TextBox4.Enabled = True
172
+ TextBox4.BackColor = &HFFFFFF
173
+ TextBox3.BackColor = &HC0C0C0
174
+ End Sub
175
+ ```