我有一个名为keylist的工作表,并为其创建了一个userform1。简单,没有幻想。
userform1上的选项为日期,键号,地址,键入(复选框1),退出(复选框2)和注释。
除了复选框外,我所有的userform1都正常工作。这就是我所拥有的:
Private Sub CommandButton1_Click()
Dim dcc As Long
Dim abc As Worksheet
Set abc = Worksheets("Key List")
With abc
dcc = .Range("A" & Rows.Count).End(xlUp).Row
.Cells(dcc + 1, 1).Value = Date
.Cells(dcc + 1, 2).Value = Me.TextBox1.Value
.Cells(dcc + 1, 3).Value = Me.TextBox2.Value
.Cells(dcc + 1, 4).Value = Me.CheckBox1.Value
'.Cells(dcc + 1, 5).Value = Me.TextBox4.Value
.Cells(dcc + 1, 6).Value = Me.TextBox3.Value
If Me.CheckBox1.Value = True Then
.Cells(dcc + 1, 4).Value = "Yes"
Else
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
End If
End With
End Sub
并且:
Private Sub UserForm_Initialize()
Dim wsActive As Worksheet
Dim i As Long, LastRow As Long
Set wsActive = ActiveSheet
LastRow = wsActive.Cells(wsActive.Rows.Count).End(xlUp).Row
End Sub
我在else复选框1之后有代码,但是它实际上没有工作,所以我删除了它。文本框4中的'是有意的,因为我正在考虑在工作表和表单中添加另一个字段,然后决定不添加,但留给我以备需要。
正如我上面所说的,所有方法都可以,但是复选框功能不起作用。我的目标是/如果在表格中选择了“输入”,则在表中输入“是”,如果选择了“输入”,则无法选择“输出”。从逻辑上讲,任何东西都不能同时进出是有意义的,在任何给定时间都是一个或另一个。那么我该如何处理并使它们的复选框起作用?
我尝试了很少的事情,但都无济于事。如果有人可以帮助VBA代码并帮助使复选框正常工作,我将非常感激。如果在userform1上单击添加条目并且没有字段被填充,则还要输入另一件事。我该如何阻止这种情况的发生?用户必须填写字段以进行输入,否则,如果错误地单击了添加条目,并且工作表中出现空白条目,则由于输入的日期仍为空白,因此为空白。
在此先感谢您的帮助。干杯。
答案 0 :(得分:0)
Private Sub CommandButton1_Click()
Dim dcc As Long
Dim abc As Worksheet
Dim Yc As Long
Set abc = Worksheets("Key List")
Yc = Choose(Me.OptionButton1 + 2, 4, 5)
With abc
dcc = .Range("A" & Rows.Count).End(xlUp).Row
.Cells(dcc + 1, 1).Value = Date
.Cells(dcc + 1, 2).Value = Me.TextBox1.Value
.Cells(dcc + 1, 3).Value = Me.TextBox2.Value
.Cells(dcc + 1, Yc).Value = "Yes"
'.Cells(dcc + 1, 5).Value = Me.TextBox4.Value
.Cells(dcc + 1, 6).Value = Me.TextBox3.Value
End With
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Me.OptionButton1 = 0
Me.OptionButton2 = 0
End Sub