只需几行代码,我们可以通过控制环轻松地在Excel VBA窗体。用户窗体,我们要创建如下所示:

Loop through Controls in Excel VBA

要创建这个用户窗体,请执行下列步骤。

1.打开Visual Basic编辑器。如果项目资源管理器中是不可见,单击视图,工程资源管理器。

2.单击插入,用户窗体。如果工具箱没有自动出现,单击视图,工具箱。您的屏幕应该设置如下。

Userform Screen Setup in Excel VBA

3.添加标签,复选框(第一顶部,下面的第一,第二,等等)和命令按钮。一旦这个已经完成,其结果应与前面显示的用户窗体的图片一致。例如,创建通过点击复选框从工具箱中复选框控件。接下来,你可以在用户窗体拖动一个复选框。

4.您可以更改名称和控件的标题。名称在Excel的VBA代码中使用。标题是那些出现在屏幕上。这是改变控件的名称很好的做法,但在这里是没有必要的,因为我们只有几个控件在这个例子中。要更改用户窗体,标签,复选框和命令按钮的标题,单击视图,属性窗口,然后点击每个控件。

5.要显示用户窗体,放置在您的工作表一个命令按钮并添加以下代码行:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

我们现在已经创建用户窗体的第一部分。虽然看起来已经整齐,什么都不会,当我们点击清除按钮还没有发生。

6.打开Visual Basic编辑器。

7.在项目资源管理器,UserForm1上双击。

8.双击清除按钮。

9.添加以下代码行:

Private Sub CommandButton1_Click()

Dim contr As control

For Each contr In UserForm1.Controls

If TypeName(contr) = "CheckBox" Then

contr.Value = False

End If

Next

End Sub

说明:VBA的Excel通过循环用户窗体上的所有控件。 TypeName函数是用来滤除复选框控制。如果一个复选框控件时,Excel VBA取消选中该复选框。对照随机选择这里,你可以使用任何名字。记得提及这个名字在你的代码的其余部分。

结果当您单击清除按钮:

Loop through Controls Result