下面我们将查看Excel VBA中的一个程序,该程序创建一个Userform,将任何金额从一种货币转换为另一种货币。
我们将要创建的用户窗体如下所示:
要创建此用户窗体,请执行以下步骤。
1.打开Visual Basic编辑器。如果“项目资源管理器”不可见,请单击“视图”,“项目资源管理器”。
2.单击插入,用户窗体。如果“工具箱”没有自动出现,请单击“视图”,“工具箱”。屏幕设置如下。
3.添加标签,列表框(左侧第一个,右侧第二个),文本框(左侧第一个,右侧第二个)和命令按钮。完成此操作后,结果应与前面显示的用户窗体的图片一致。例如,通过在工具箱中单击列表框来创建列表框控件。接下来,您可以在用户窗体上拖动一个列表框。
4.您可以更改控件的名称和标题。在Excel VBA代码中使用名称。字幕是显示在屏幕上的字幕。更改控件的名称是一种很好的做法,但是此处没有必要,因为在此示例中,我们只有几个控件。要更改用户窗体,命令按钮和标签的标题,请单击“视图”,“属性窗口”,然后单击每个控件。
5.要显示用户窗体,请在工作表上放置一个命令按钮,并添加以下代码行:
UserForm1.Show
End Sub
现在,我们将创建Sub UserForm_Initialize。当您对用户窗体使用Show方法时,此子项将自动执行。
6.打开Visual Basic编辑器。
7.在Project Explorer中,右键单击UserForm1,然后单击“查看代码”。
8.从左侧下拉列表中选择“用户表单”。从右侧的下拉列表中选择初始化。
9.添加以下代码行:
随着 ListBox1的
.AddItem“欧元”
.AddItem“美元”
.AddItem“英镑”
尾 随着
随着 ListBox2
.AddItem“欧元”
.AddItem“美元”
.AddItem“英镑”
尾 随着
ListBox1.ListIndex = 1
ListBox2.ListIndex = 0
TextBox1.Value = 1
TextBox2.Value = 0.722152
End Sub
说明:首先,两个列表框被填充。接下来,在第一个列表框中将美元货币设置为默认值,在第二个列表框中将欧元货币设置为默认值。最后,在第一个文本框中输入值1,在第二个文本框中输入值0.722152。
现在,我们已经创建了用户表单的第一部分。尽管看起来已经很整洁,但是当我们单击“执行”按钮时,什么也不会发生。
10.在Project Explorer中,双击UserForm1。
11.双击执行按钮。
12.添加以下代码行:
暗淡率(0 至 2,0 至 2)为 Double,i 为 整数,j 为 整数
率(0,0)= 1
率(0,1)= 1.38475
率(0,2)= 0.87452
利率(1,0)= 0.722152
利率(1,1)= 1
利率(1,2)= 0.63161
利率(2,0)= 1.143484
利率(2,1)= 1.583255
利率(2,2)= 1
对于 i = 0 至 2
对于 j = 0 至2
如果 ListBox1.ListIndex = i 和 ListBox2.ListIndex = j,则 TextBox2.Value = TextBox1.Value * rates(i,j)
下一个 j
下一个 i
结束 子
说明:首先,我们声明一个数组。该数组有两个维度。它由3行和3列组成。接下来,我们初始化数组的每个元素。例如,rates(1,0)是从美元到欧元的货币汇率。接下来,我们开始一个双循环。根据列表框中选择的货币,Excel VBA会转换在第一个文本框中输入的金额,并在第二个文本框中显示结果。
示例:如果i = 2且j = 1并且我们在第一个文本框中输入值2,则Excel VBA在第二个文本框中放置值2 * rates(2,1)= 2 * 1.583255 = 3.16651。
13.测试用户表单。
结果: