/ / Rechnungen und Münzen in Excel VBA

Rechnungen und Münzen in Excel VBA

Unten sehen wir uns ein Programm in Excel VBA das spaltet eine Menge Geld hinein Scheine und Münzen.

Situation:

Rechnungen und Münzen in Excel VBA

Erstellen Sie ein Arbeitsblattänderungsereignis. Code, der dem Worksheet Change Event hinzugefügt wird, wird von Excel VBA ausgeführt, wenn Sie eine Zelle in einem Arbeitsblatt ändern.

1. Öffnen Sie den Visual Basic-Editor.

2. Doppelklicken Sie im Projekt-Explorer auf Tabelle1 (Tabelle1).

3. Wählen Sie Arbeitsblatt aus der linken Dropdown-Liste. Wählen Sie Ändern aus der rechten Dropdown-Liste.

Arbeitsblatt Change Event in Excel VBA

Fügen Sie dem Worksheet Change Event die folgenden Codezeilen hinzu:

4. Deklarieren Sie eine Variable namens Menge des Typs Double und eine Variable i des Typs Integer.

Dim amount As Double, i As Integer

5. Das Worksheet Change Event überwacht alle Änderungen in Sheet1. Wir wollen nur, dass Excel VBA etwas tut, wenn sich in Zelle B2 etwas ändert. Fügen Sie dazu die folgende Codezeile hinzu:

If Target.Address = "$B$2" Then

6. Wir initialisieren den variablen Betrag mit dem Wert von Zelle B2.

amount = Range("B2").Value

7. Wir leeren den Bereich mit den Frequenzen.

Range("B5:B16").Value = ""

8. Jetzt ist es Zeit, den eingegebenen Geldbetrag zu teilen. Wir starten eine For Next-Schleife.

For i = 5 To 16

9. Wir werden die Do While-Schleifenstruktur verwenden. Code zwischen diesen Wörtern wird solange wiederholt, wie der Teil nach Do While wahr ist. Wir möchten, dass Excel VBA die Codezeilen in Schritt 10 wiederholt, solange der Betrag größer oder gleich Cells (i, 1) .value ist.

Do While amount >= Cells(i, 1).Value

Loop

10. Fügen Sie der Do While-Schleife die folgenden Codezeilen hinzu.

Cells(i, 2).Value = Cells(i, 2).Value + 1
amount = amount - Cells(i, 1).Value

Erläuterung: Solange der Betrag größer oder gleich Cells (i, 1) .value ist, enthält der Betrag Banknoten / Münzen mit diesem Wert. Als Ergebnis erhöht Excel VBA die Häufigkeit dieser Rechnung / Münze (erste Zeile) und subtrahiert den Wert der Rechnung / Münze von Betrag (zweite Zeile). Dieser Prozess wird wiederholt, bis die Menge kleiner als Cells (i, 1) .value wird. Als nächstes erhöht Excel VBA i und geht zur nächsten Rechnung / Münze, um zu sehen, wie oft diese Rechnung / Münze in die verbleibende Menge passt. Auf diese Weise wird der Geldbetrag in Geldscheine und Münzen aufgeteilt, bis kein Geld mehr für die Aufteilung übrig ist.

11. Schließen Sie die For Next-Schleife und vergessen Sie nicht, die if-Anweisung zu schließen (beide außerhalb der Do While-Schleife).

   Next i
End if

12. Testen Sie das Programm.

Ergebnis:

Rechnungen und Münzen Ergebnis

Hinweis: natürlich enthält der eingegebene Betrag nicht unbedingt jede Rechnung / Münze. Wenn der Betrag keine bestimmte Rechnung / Münze enthält, wird der Teil nach Do While für diese Rechnung / Münze niemals wahr und Excel VBA geht direkt zur nächsten Rechnung / Münze.

Lesen Sie auch: