お読みくださり、ありがとうございます。
エクセル初心者でございます。
エクセルのマクロなのですが、
お詳しい方、是非教えて欲しいです!汗
調子に乗って入力フォームなるものを作りました。
入力フォームの中にて、チェックボックスで「ある」「なし」の項目を入れてみたのですが、チェックしていないのに、値が入る現象が起きています汗
以下、素人が書いたコードを恥を承知で記載させていただきます。
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
OK = "○"
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
NO = "×"
End If
End Sub
Private Sub UserForm_Click()
End Sub
'以下のコードは、登録ボタンがクリックされたときの処理!
Private Sub 登録ボタン_Click()
If TextBox1.Text = "" Then
MsgBox "グッズ名を入力してください。"
Exit Sub
End If
If TextBox2.Text = "" Then
MsgBox "アプローチ先を入力してください。"
Exit Sub
End If
With Worksheets("協賛グッズ")
With Cells(Rows.Count, 2).End(xlUp)
.Offset(1, 0).Value = TextBox1.Text
.Offset(1, 1).Value = mori
.Offset(1, 2).Value = mori2
.Offset(1, 3).Value = TextBox2.Text
.Offset(1, 5).Value = TextBox3.Text
.Offset(1, 6).Value = TextBox4.Text
.Offset(1, 7).Value = TextBox5.Text
.Offset(1, 8).Value = TextBox6.Text
End With
End With
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
CheckBox1.Value = False
CheckBox2.Value = False
End Sub
以上です。
おかしなところ満載かと思いますが、
チェックを入れた項目だけ値を入れたいと考えております。
おわかりになるかたおりましたら何卒お助けください汗
よろしくお願いいたします。
コードの肝心な部分が無いので良く解りませんが、チェックボックス1・2共にチェックされたときの処理だけあって、チェックを外したときの処理がないのが原因ではないでしょうか?
つまり、変数「OK」「NO」の値は一度でもチェックをされるとその後チェックを外されても"○"、"×"のままです。
#それ以前に変数名に「OK」「NO」なんて紛らわしいものは使わない方が良いと思います。
コードをこんな風に変えるとどうですか?
Private Sub CheckBox1_Click()
OK = ""
If CheckBox1.Value = True Then
OK = "○"
End If
End Sub
お礼
大変申し訳ございません・・・ ちゃんと機能いたしました。 教えていただいたコードを入力し間違えていたようです。 深くお詫びするとともに、感謝を申し上げます! ほんとうにありがとうございました!!