小兔网

下面我们将查看Excel VBA中的一个程序,该程序创建一个包含多个页面的用户窗体。该用户表单还包含图像。

多页控件包含两个页面。在第1页,用户可以填写他/她的个人信息。在第2页,用户可以指示他/她最喜欢哪幅画。

用户表单页面1 用户表单页面2

要创建此用户窗体,请执行以下步骤。

1.打开Visual Basic编辑器如果“项目资源管理器”不可见,请单击“视图”,“项目资源管理器”。

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

Excel VBA中的用户窗体屏幕设置

3.添加多页控件,标签,文本框(第一个在顶部,第二个在第一个下方),框架,选项按钮(第一个在左侧,第二个在右侧),列表框,图像控件和命令按钮。完成此操作后,结果应与之前显示的用户表格的空白版本一致。例如,通过在工具箱中单击多页来创建多页控件。接下来,您可以在用户窗体上拖动一个多页控件。到达“性别”框架时,请记住先绘制该框架,然后再将两个选项按钮放入其中。

4.您可以更改控件的名称和标题。在Excel VBA代码中使用名称。字幕是显示在屏幕上的字幕。更改控件的名称是一种很好的做法,但是此处没有必要,因为在此示例中,我们只有几个控件。若要更改用户窗体,多页选项卡,标签,框架,选项按钮和命令按钮的标题,请单击视图,属性窗口,然后单击每个控件。

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

私人  CommandButton1_Click()

UserForm1.Show

End Sub

现在,我们将创建Sub UserForm_Initialize。当您对用户窗体使用Show方法时,此子项将自动执行。

6.打开Visual Basic编辑器

7.在Project Explorer中,右键单击UserForm1,然后单击“查看代码”。

8.从左侧下拉列表中选择“用户表单”。从右侧的下拉列表中选择初始化。

9.添加以下代码行:

私人  UserForm_Initialize()

随着 ListBox1的
    .AddItem“山”
    .AddItem“日落”
    .AddItem“海滩”
    .AddItem“冬天”
结束 随着

结束 小组

说明:将填充第2页上的列表框。

现在,我们已经创建了用户表单的第一部分。尽管看起来已经很整洁,但是当我们从列表框中选择一个项目或单击“确定”按钮时,什么也不会发生。

10.下载图像(此页面右侧)并将其添加到“ C:\ test \”

11.在Project Explorer中,双击UserForm1。

12.双击列表框。

13.添加以下代码行:

私人  ListBox1_Click()

如果 ListBox1.ListIndex = 0 然后
    Image1.Picture =的LoadPicture( “C:\测试\ Mountains.jpg”)
结束 如果

如果 ListBox1.ListIndex = 1 然后
    Image1.Picture =的LoadPicture(“C:\测试\ Sunset.jpg “)
结束 如果

如果 ListBox1.ListIndex = 2 然后
    Image1.Picture =的LoadPicture(” C:\测试\ Beach.jpg “)
结束 如果

如果 ListBox1.ListIndex = 3 然后
    Image1.Picture =的LoadPicture(” C:\测试\ Winter.jpg“)
结束 如果

结束 

说明:这些代码行根据列表框中的选定项目加载图片。

14.双击确定按钮。

15.添加以下代码行:

Private Sub CommandButton1_Click()

Dim emptyRow as Long

'使Sheet1处于活动状态
Sheet1.Activate

'确定emptyRow
emptyRow = WorksheetFunction.CountA(Range(“ A:A”))+ 1

'传输信息
单元格(emptyRow,1).Value = TextBox1。值
将细胞(emptyRow,2)。价值= TextBox2.Value

如果 OptionButton1.Value =  。然后
    将细胞(emptyRow,3)。价值= “男性”
否则
    将细胞(emptyRow,3)。价值= “女性”
结束 如果

将细胞(emptyRow ,4).Value = ListBox1.Value

'关闭用户窗体
卸载我

结束 

说明:首先,我们激活Sheet1。接下来,我们确定emptyRow。变量emptyRow是第一个空行,每次添加记录时都会增加。接下来,我们将信息从“用户表单”转移到emptyRow的特定列。最后,我们关闭用户窗体。

16.退出Visual Basic编辑器,在第1行中输入以下所示的标签,然后测试用户窗体。

结果:

测试用户表单