質問編集履歴
4
コードの修正。
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
|
132
|
+
Private Sub UserForm_Initialize()
|
133
|
+
'UserForm1・・・という書き方をしていたのですが、こちらが誤りであると別質問をした際に気が付きました。
|
132
134
|
TextBox3.Enabled = False
|
133
135
|
TextBox3.BackColor = &HC0C0C0
|
134
136
|
TextBox4.Enabled = False
|
3
記載していた追加質問の削除。
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
お礼と最終的なコードの記載。
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
追加質問の記載。
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
|
+
```
|