Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Userform复选框将文本发送到电子表格_Excel_Vba_Checkbox_Userform - Fatal编程技术网

Excel Userform复选框将文本发送到电子表格

Excel Userform复选框将文本发送到电子表格,excel,vba,checkbox,userform,Excel,Vba,Checkbox,Userform,我正试图获得一个复选框1,当复选框被勾选时,在下一个空闲行中填充短语“缺席”,当命令按钮将用户表单提交到电子表格时,在O列中填充短语“缺席” 下面的代码是我的“提交”命令按钮的代码,它运行良好,没有任何问题。我如何合并复选框,以便将“缺席”添加到与当前添加的其他信息完全相同的行中 此外,我希望在提交表单时,复选框能够恢复到“未选中”状态 非常感谢您的帮助 命令按钮提交代码为: Private Sub CommandButton1_Click() Set ThisRow = Range("A" &

我正试图获得一个复选框1,当复选框被勾选时,在下一个空闲行中填充短语“缺席”,当命令按钮将用户表单提交到电子表格时,在O列中填充短语“缺席”

下面的代码是我的“提交”命令按钮的代码,它运行良好,没有任何问题。我如何合并复选框,以便将“缺席”添加到与当前添加的其他信息完全相同的行中

此外,我希望在提交表单时,复选框能够恢复到“未选中”状态

非常感谢您的帮助

命令按钮提交代码为:

Private Sub CommandButton1_Click()
Set ThisRow = Range("A" & Rows.Count).End(xlUp)
If ThisRow.Row = 1 Then
Me.TextBox1 = 1
Else
Me.TextBox1 = ThisRow.Row + 1   
End If

Me.TextBox2.Value = Now
Set ThisRow = ThisRow.Offset(1)
SaveData
End Sub
将数据保存到电子表格:

Private Sub SaveData()
Dim C As MSForms.Control
Dim varValue As Variant    'Must be variant to accept different types of data

For Each C In Me.Controls
    If C.Tag <> "" Then
        varValue = C.Value
        Select Case C.Tag
                 Case "A", "D", "H", "I", "J", "K", "L", "M", "N", "O"
                Worksheets("Data").Range(C.Tag & ThisRow.Row) = varValue


            Case "B", "C", "E"
                If IsDate(varValue) Then
                    Worksheets("Data").Range(C.Tag & ThisRow.Row) = CDate(varValue)
                End If

        End Select

诸如此类,添加以下内容以保存数据

Case "O"
if c.value then
 worksheets("Data").range(c.tag & this.row)="Absent"
 c.value=false
end if

好的,你的意见很有帮助。我还需要在“初始化”下声明它,我现在已经这样做了。问题解决了

Case "O"
if c.value then
 worksheets("Data").range(c.tag & this.row)="Absent"
 c.value=false
end if