小兔网

下面我们将查看Excel VBA中的一个程序,该程序创建一个Userform,任何金额从一种货币转换为另一种货币

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

Excel VBA中的货币转换器

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

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“英镑”
 随着

随着 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.添加以下代码行:

Private Sub CommandButton1_Click()

暗淡率(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.测试用户表单。

结果:

货币换算结果