【问题标题】:Userform checkbox send text to spreadsheet用户表单复选框将文本发送到电子表格
【发布时间】:2017-05-10 23:23:51
【问题描述】:

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

下面的代码适用于我的“提交”命令按钮,它运行良好,没有任何问题。我如何将checkbox please to add 'absent' 合并到与当前正在添加的其他信息完全相同的行中?

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

非常感谢任何帮助。

命令按钮提交代码为:

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

初始化代码为:

Private Sub UserForm_Initialize()
Me.listDate.ListIndex = -1
listOwner.ListIndex = 0

Me.listOwner.Tag = "D"
Me.listDate.Tag = "E"

Me.listEmployee.Tag = "F

等等等等等等等等

【问题讨论】:

    标签: excel vba checkbox userform


    【解决方案1】:

    将以下内容添加到保存数据中

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-01
        • 1970-01-01
        • 2016-01-25
        • 1970-01-01
        • 1970-01-01
        • 2020-08-11
        • 2018-05-20
        • 2018-07-19
        相关资源
        最近更新 更多