1
我希望用户选择要在哪些工作表上创建新的文本行。但是他可以选择的纸张数量可能会随时间变化,我不想对纸张名称进行硬编码。根据参数创建用户窗体中的复选框
下面是一个例子(“O”表示复选框)什么,我的目标是尽:
o 01.2013
o 07.2013
o 01.2014
o 07.2014
我创建了一个空框的窗体把我的复选框,并添加以下代码位用户表单:
Private Tck(10) As MSForms.CheckBox
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim i As Long
i = 1
For Each ws In ActiveWorkbook.Worksheets
If Left(ws.Name, 3) = "T2M" Then
Set Tck(i) = Frame1.Controls.Add("Forms.Checkbox.1", "Checkbox" & i)
Tck(i).Caption = Right(ws.Name, 7)
i=i+1
End If
Next
End Sub
但它只增加了一个复选框,最后一张验证if测试。
我试图在两次迭代之间进行偏移,但我无法修改Tck(i)
的位置,例如使用Tck(i).top
。
我也试过了这个问题的答案:Adding controls to a frame in an Excel userform with VBA,但它也没有起作用。
完美的作品!谢谢 – Tom 2014-09-02 12:27:29