钞票和硬币在Excel VBA
下面我们就来看看在Excel VBA的程序分割的金额为钞票和硬币。
现状:
创建工作表更改事件。添加到工作表更改事件代码将被Excel VBA,当你在工作表上更改单元格执行。
1.打开Visual Basic编辑器。
2.双击工作表Sheet1(Sheet1中)在项目资源管理器。
3.从左边的下拉列表中选择工作表。从右侧的下拉列表中选择更改。
添加以下代码行的工作表更改事件:
4.声明类型双人的变量称为量和类型整数的变量i。
Dim amount As Double, i As Integer
5.工作表更改事件侦听Sheet1上的所有变化。我们只希望Excel VBA到某些东西在B2单元格中的变化做一些事情。要做到这一点,添加以下代码行:
If Target.Address = "$B$2" Then
6.我们初始化与细胞B2的值的变量数量。
amount = Range("B2").Value
7.我们空与频率范围。
Range("B5:B16").Value = ""
8.现在是时候拆的资金输入量。我们开始为下一个循环。
For i = 5 To 16
9.我们将利用do while循环结构。放在这些词之间的代码会被重复,只要以后做的一部分。虽然是真实的。我们希望Excel VBA在步骤10,只要重复代码行量为大于或等于细胞(I,1)。价值。
Do While amount >= Cells(i, 1).Value Loop
10.添加以下代码行的do while循环。
Cells(i, 2).Value = Cells(i, 2).Value + 1 amount = amount - Cells(i, 1).Value
说明:只要量为大于或等于细胞(I,1)。价值,所述量包含票据/该值的硬币。其结果是,Excel VBA中递增该纸币/硬币(第一行)的频率和减去从量(第二线)的纸币/硬币的值。这个过程将被重复直到量变得比细胞(I,1)。价值小。接下来,Excel的VBA增量i和进入下一个账单/硬币,看看有多少次这样的法案/在量硬币拟合离开。这样的资金量将被分成钞票和硬币,直到没有余钱了分裂。
11.关闭For Next循环,不要忘记关闭if语句(包括外do while循环)。
Next i End if
12.测试程序。
结果:
注:当然进入量不一定包含所有账单/硬币。如果金额不包含某一议案/硬币,之后做的一部分。虽然从来没有成为这一法案/硬币真实和Excel VBA直接进入到下一个账单/硬币。