您可以在Excel中使用VBA RefEdit控件从用户获得一定范围内。用户窗体,我们要创建的颜色存储在RefEdit控制范围的最小值。

Userform and Ranges in Excel VBA

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

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

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

Userform Screen Setup in Excel VBA

3.添加标签,RefEdit控件和命令按钮。一旦这个已经完成,其结果应与前面显示的用户窗体的图片一致。例如,创建通过单击从工具箱中RefEdit控件RefEdit控件。接下来,您可以拖动用户窗体RefEdit控件。

注意:如果你的工具箱中没有RefEdit控件,设置为RefEdit控件的引用。单击工具,引用,并检查参考编辑控件。

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

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

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

现在,我们要创建的子UserForm_Initialize。当您使用Show方法用于用户窗体,该子会被自动执行。

6.打开Visual Basic编辑器。

7.在项目资源管理器,右击UserForm1上,然后单击查看代码。

8.从左边的下拉列表中选择用户窗体。从右侧的下拉列表中选择初始化。

9.添加以下代码行:

Private Sub UserForm_Initialize()

Sheet1.Cells.Font.Color = vbBlack

UserForm1.RefEdit1.Text = Selection.Address

End Sub

说明:第一行代码改变所有单元的Sheet 1上的字体颜色为黑色。第二个代码行获得当前选择并显示在RefEdit控制的地址。

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

10.在Project Explorer中,UserForm1上双击。

11.双击Go按钮。

12.添加以下代码行:

Private Sub CommandButton1_Click()

Dim addr As String, rng, cell As Range, minimum

As Double

addr = RefEdit1.Value

Set rng = Range(addr)

minimum = WorksheetFunction.Min(rng)

For Each cell In rng

If cell.Value = minimum Then cell.Font.Color = vbRed

Next cell

End Sub

说明:第一,我们从RefEdit控件的地址,并将其存储到字符串变量地址。接下来,我们设置RNG在RefEdit控件指定的范围。接下来,我们使用的工作表函数闵找到范围内的最小值。最后,我们利用色彩循环的最低值(一个或多个)。

13.双击上的取消按钮。

14.添加以下代码行:

Private Sub CommandButton2_Click()

Unload Me

End Sub

说明:这行代码将关闭用户窗体,当您点击取消按钮。

15.测试窗体。

结果:

Userform and Ranges Result