Scheine und Münzen in Excel VBA
Im Folgenden werden wir ein Programm in Excel VBA suchen, die eine Menge Geld in Scheinen und Münzen aufteilt.
Situation:
Erstellen Sie ein Arbeitsblatt ändern Ereignis. Code auf das Arbeitsblatt ändern Ereignis hinzugefügt wird von Excel VBA ausgeführt werden, wenn Sie eine Zelle in einem Arbeitsblatt ändern.
-
Öffnen Sie den Visual Basic-Editor.
-
Klicken Sie doppelt auf Tabelle1 (Sheet1) im Projekt-Explorer.
-
Arbeitsblatt Wählen Sie aus der linken Dropdown-Liste. Wählen Sie Ändern aus der rechten Dropdown-Liste.
Fügen Sie die folgenden Codezeilen zu dem Arbeitsblatt ändern Veranstaltung:
-
Deklarieren Sie eine Variable namens Menge vom Typ Double und eine Variable i vom Typ Integer.
Dim amount As Double, i As Integer
-
Das Arbeitsblatt Änderungsereignis hört auf alle Veränderungen auf Sheet1. Wir wollen nur Excel VBA, etwas zu tun, wenn etwas in der Zelle B2 ändert. Um dies zu erreichen, fügen Sie die folgende Codezeile:
If Target.Address = "$B$2" Then
-
Wir initialisieren den variablen Betrag mit dem Wert der Zelle B2.
amount = Range("B2").Value
-
Wir leeren Sie den Bereich mit den Frequenzen.
Range("B5:B16").Value = ""
-
Nun ist es Zeit, den eingegebenen Geldbetrag splitten. Wir starten eine For Next-Schleife.
For i = 5 To 16
-
Wir werden den Einsatz der Do While-Schleife Struktur machen. Code zwischen diesen Worten platziert werden, solange das Teil nach dem Do wiederholt werden, während der Fall ist. Wir wollen Excel VBA die Codezeilen in Schritt 10 so lange zu wiederholen, als Menge, die größer oder gleich Zellen (i, 1) .value.
Do While amount >= Cells(i, 1).Value Loop
-
Fügen Sie die folgenden Codezeilen in die Do While-Schleife.
Cells(i, 2).Value = Cells(i, 2).Value + 1 amount = amount - Cells(i, 1).Value
Erläuterung: solange Menge, die größer oder gleich ist Cells (i, 1) .Value, die Menge enthält Rechnungen / Münzen dieses Werts. Als Ergebnis erhöht Excel VBA die Frequenz dieser Rechnung / Münze (erste Zeile) und subtrahiert den Wert der Banknote / Münze von Menge (zweite Zeile). Dieser Prozess wird wiederholt, bis Menge kleiner als Zellen wird (i, 1) .Value. Als nächstes Excel VBA-Schritten i und geht in die nächste Rechnung / Münze, um zu sehen, wie oft diese Rechnung / Münze passt in Höhe links. Auf diese Weise der Menge des Geldes wird aufgeteilt in Scheinen und Münzen, bis es kein Geld mehr spalten links.
-
Schließen Sie die For Next-Schleife und nicht zu vergessen die if-Anweisung (beide außerhalb des Do While-Schleife) zu schließen.
Next i End if
-
Testen Sie das Programm.
Ergebnis:
Hinweis: natürlich der eingegebene Betrag nicht unbedingt enthält jede Rechnung / Münze. Wenn die Menge nicht enthält eine bestimmte Rechnung / Münze, den Teil nach Do While nie für diese Rechnung / Münze und Excel VBA geht direkt an die nächsten Rechnung / Münze wahr wird.