Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

【分享成果,随喜正能量】别人的事,与我无关。这是人际关系中最基本的边界。混淆边界的人,要么是蠢,要么是坏,要么是又蠢又坏。我自己的事,也与他人无关。我自己做决定,自己负责任,不需要他人恩准,不需要他人评判,也不把责任推卸给他人。一个成年人,在不违法、不妨碍他人的前提下,尽量去做自己喜欢的事。他人无权置喙。己所不欲,勿施于人;己所欲,也勿施于人。天下太平。。

《VBA之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“VBA之EXCEL应用”的第十七章 “用户窗体(Userform)的实例应用”:VBA货币换算计算器代码

VBA货币换算计算器代码

第七节 货币换算计算器的制作(二)

在上节中,我们完成了窗体的搭建,这讲我们讲解窗体的代码及代码的执行效果。

4 实现货币转换计算器的代码

我们看下面的代码:

1)命令按钮的点击事件

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

k = 3

rates(0, 0) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(0, 1) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(0, 2) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(1, 0) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(1, 1) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(1, 2) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(2, 0) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(2, 1) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(2, 2) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

For i = 0 To 2

For j = 0 To 2

If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)

Next j

Next

End Sub

2)窗体的加载事件

Private Sub UserForm_Initialize()

With ListBox1

.AddItem "美元"

.AddItem "人名币"

.AddItem "日元"

End With

With ListBox2

.AddItem "美元"

.AddItem "人名币"

.AddItem "日元"

End With

ListBox1.ListIndex = 1

ListBox2.ListIndex = 0

TextBox1.Value = 1

TextBox2.Value = ThisWorkbook.Sheets("Sheet3").Cells(6, 3)

End Sub

代码的部分截图:

VBA货币换算计算器代码

VBA货币换算计算器代码

5 代码的讲解

1) k = 3

rates(0, 0) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(0, 1) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(0, 2) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(1, 0) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(1, 1) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(1, 2) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(2, 0) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(2, 1) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

rates(2, 2) = ThisWorkbook.Sheets("Sheet3").Cells(k, 3): k = k + 1

以上代码将窗体的汇率基准值添加到数组中。

2)For i = 0 To 2

For j = 0 To 2

If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)

Next j

Next

上述代码计算货币的转换,并将转换后的值写入textbox2文本框中。

3) With ListBox1

.AddItem "美元"

.AddItem "人名币"

.AddItem "日元"

End With

With ListBox2

.AddItem "美元"

.AddItem "人名币"

.AddItem "日元"

End With

以上代码在列表框1和2中加载三个项,供用户选择。

6 代码的运行效果

下面我们看代码的运行效果,我们点击“汇率换算”按钮,这个按钮要关联上useform3窗体的显示:

Sub mynzB()

UserForm3.Show

End Sub

VBA货币换算计算器代码

2)点击后会出现汇率转换的窗口:

VBA货币换算计算器代码

3)我们在第一个文本框中录入数值,并在两个文本框中分别选择转换前和装换后的币种:

VBA货币换算计算器代码

4)点击转换:

VBA货币换算计算器代码

以上就实现了美元和日元间的转换。

今日内容回向:

1) 上述代码过程是否清楚呢?

2) 上述代码中有一个漏洞,就是最好在币种选择时实现第二个文本框清零,代码该如何实现呢?


本讲内容参考程序文件:工作簿17.xlsm



VBA货币换算计算器代码

VBA货币换算计算器代码

【分享成果,随喜正能量】你是对的,我也没错。这个世界上原本存在完全相反的正确。我们走在不同的道路上,却沐浴着一样的朝阳,一样的风。两厢情愿的事,谈不上有多不道德。对两厢情愿的事横加批判、干涉,才不道德。