添加工作表时自动扩展userform复选框

时间:2016-08-09 08:22:43

标签: excel-vba checkbox userform vba excel

我需要一个带有复选框的userform来运行一些例程。此用户表单需要根据工作表数量展开复选框。因此,对于一张纸,必须只有一个复选框,其中包含两个,两个复选框等。纸张数量各不相同,并且基于用户通过功能区按钮输入。 有些人可以帮助我实现这一目标。 我已经拥有的代码下面。我认为这样做必须要有更好的方法。

DECLARE
     v_counter INT := 0;
BEGIN
     SELECT COUNT(*) INTO v_counter FROM table1 WHERE condit..;
     dbms_output.put_line(v_counter);
END;
/

1 个答案:

答案 0 :(得分:0)

首先,我创建了一个非常简单的用户表单,其中包含5个复选框。

然后我隐藏了属性窗口中的每个复选框:

Visible.False

然后我把这段代码放在userform的代码部分:

Private Sub UserForm_Initialize()
Dim numsht As Long
numsht = ThisWorkbook.Worksheets.Count
If numsht = 1 Then
        CheckBox1.Visible = True
    ElseIf numsht = 2 Then
        CheckBox1.Visible = True
        CheckBox2.Visible = True
    ElseIf numsht = 3 Then
        CheckBox1.Visible = True
        CheckBox2.Visible = True
        CheckBox3.Visible = True
    ElseIf numsht = 4 Then
        CheckBox1.Visible = True
        CheckBox2.Visible = True
        CheckBox3.Visible = True
        CheckBox4.Visible = True
    ElseIf numsht = 5 Then
        CheckBox1.Visible = True
        CheckBox2.Visible = True
        CheckBox3.Visible = True
        CheckBox4.Visible = True
        CheckBox5.Visible = True
    Else:
        MsgBox "Need more checkboxes!" & vbNewLine & "Contact Jan Wieland for more details", vbCritical
End If
End Sub

尝试不同数量的纸张......

希望它有所帮助! :)