Excel VBA用户表单|如何创建交互式用户表单?

Excel VBA用户表单

VBA中的用户表单 是自定义的用户定义表单,用于接受用户以表单格式输入的表单,它具有添加的不同控件集,例如文本框,复选框标签等,以指导用户输入值并存储工作表中的值,用户表单的每个部分都有唯一的代码。

用户窗体是Excel界面内的对象,并且在此用户窗体内,我们可以创建其他有用的自定义对话框以从用户那里获取数据。当您使用由上级创建的宏文件或可以从Internet下载的宏文件时,您必须已经看到这样的用户表单。

在本文中,我们将向您展示如何创建类似的用户窗体来存储用户的数据。

如何创建用户表格?

就像您插入新模块的方式一样,您需要在Visual Basic编辑器中单击INSERT按钮以插入用户窗体。

您可以在此处下载此VBA用户表单Excel模板– VBA用户表单Excel模板

单击此按钮后,还将插入用户表单。

在我告诉您如何编程之前,让我向您展示如何格式化此用户窗体。

格式化用户表格

通过选择用户窗体,按F4键,它将显示您的属性窗口。

使用此属性窗口,我们可以设置此用户窗体的格式,名称,更改颜色,边框样式等。

像这样尝试其他属性以吸引用户。

现在为该用户窗体插入“工具箱”。

现在,我们将看到一个这样的工具箱。

此时,只是插入了用户程序,而没有编写程序。要知道它是如何工作的,只需单击运行按钮,我们将在excel工作表上看到该表单。

现在使用ToolBox绘制标签。

在标签内输入文本作为员工姓名。

对于此标签,我们可以使用属性进行格式化。现在我们将文本输入为“ Employee Name:”,现在我们可以在“标题”下的属性窗口中看到它。

再插入一个标签。要插入另一个标签,您可以单击工具箱,也可以通过按住来拖动当前标签 Ctrl键 键,您将拥有当前标签的副本。

现在,我们将使用相同的标签。

将名称更改为员工ID。

现在,类似地再插入一个标签,并将其命名为“部门”。

现在,从工具箱中插入一个文本框。

将此文本框命名为 EmpName 在属性窗口中。

这样,分别在Employee ID和Department的两个文本框中插入两个文本框。根据其标题命名这些文本框。

同样地,为部门做。

现在,从工具箱中插入“命令按钮”。

将命令按钮的名称更改为 “提交按钮” 并将标题更改为 “提交”。

再插入一个按钮,并将其命名为“取消”。

现在只需要查看运行,请按运行按钮或使用F5键并查看您的用户窗体在Excel中的外观。

现在,它即将成形。

VBA代码

现在用户将在其中输入数据,因此我们需要对此进行编程以存储用户在此表单上输入的数据。

双击“提交”按钮,它将带您进入带有如下自动创建的宏的宏窗口。

它说的是SubmitButton单击,请记住,我们已经为SUBMIT按钮指定了一个名称,即SubmitButton。

因此,每当我们要调用此按钮时,都可以使用此名称(提交按钮)来调用它。在此宏中,复制并粘贴以下代码。

代码:

 私人子SubmittButton_Click()昏暗的LR,因为长LR =单元格(Rows.Count,1).End(xlUp)。行+1个单元格(LR,1).Value = EmpName.Value单元格(LR,2).Value = EmpID .Value单元格(LR,3).Value =部门值EmpName.Value =“” EmpID.Value =“”部门值=“” End Sub 

  • EmpName.Value 此处的EmpName是我们在创建员工姓名文本框时提供的文本框名称。
  • EmpID.Value 此处,EmpID是“员工ID”文本框的文本框名称。
  • 部门值 这是部门文本框名称。

因此,在单击提交按钮上,它将值存储在提到的单元格中。

现在,双击“取消”按钮,这还将向您显示自动宏名称,如下所示。

复制以下代码并粘贴。

代码:

 私人Sub CancelButton_Click()MyUserForm.Hide End Sub 

MyUserForm 是我们为用户表单指定的名称。 MyUserForm.Hide 意味着单击“取消”按钮将隐藏用户表单。

好的,现在在工作表中创建一个这样的模板。

删除工作簿中除此模板工作表以外的所有其他工作表。

现在转到Visual Basic编辑器。

并使用F5键或手动运行宏,我们将在我们前面看到用户表单。

输入员工名称,员工ID和部门名称。

现在,如果您单击“提交”按钮,它将把值存储到我们创建的模板上。

这样,您可以继续输入名称,用户窗体将继续将用户输入的值存储在指定的单元格中。

因此,通过使用USER FORM,我们实际上可以创建出色的项目来从用户那里获取信息。