当在Excel VBA创建用户窗体,可以通过控件使用Controls集合轻松循环和每个控件的属性设置为特定值。

用户窗体,我们要创建如下所示:

Controls Collection in Excel VBA

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

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

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

Userform Screen Setup in Excel VBA

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

4.要更改用户窗体,标签和命令按钮的标题,单击视图,属性窗口,然后点击每个控件。

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

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

说明:通过添加vbModeless,你可以在同一时间使用工作表中的用户窗体和工作。

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

6.打开Visual Basic编辑器。

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

8.双击命令按钮。

9.添加以下代码行:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10

Controls("TextBox" & i).Value = Cells(i + 1, 1).Value

Next i

End Sub

说明:只需几行代码,我们可以从表中的电话号码填写文本框。我们使用&运算符来连接(加入)的元素。这些代码行的工作,因为我们没有改变文本框控件(TextBox1中,TextBox2中,TextBox3等)的名称。要改变控件的名称,单击视图,属性窗口,然后点击每个控件。

结果当您单击工作表上的命令按钮:

Controls Collection Result