/ / Számlák és érmék Excel VBA - ban

Számlák és érmék Excel VBA-ban

Az alábbiakban egy programot nézünk be Excel VBA amely pénzt oszt el számlák és érmék.

Helyzet:

Számlák és érmék Excel VBA-ban

Munkafüzet-változási esemény létrehozása. A Munkalap változás eseményhez hozzáadott kódot az Excel VBA hajtja végre, amikor egy munkalapon lévő cellát módosít.

1. Nyissa meg a Visual Basic Editor alkalmazást.

2. Kattintson duplán a Sheet1 (Sheet1) lapra a Project Explorerben.

3. A bal oldali legördülő listából válassza ki a Munkalapot. Válassza a Módosítás lehetőséget a megfelelő legördülő listából.

Munkalap Változás esemény Excel VBA-ban

Adja hozzá a következő kódsorokat a Munkalap változás eseményhez:

4. Adjon meg egy Double típusú változót és egy egész típusú Integer változót.

Dim amount As Double, i As Integer

5. A Munkalap módosítása esemény figyeli az 1. lap összes módosítását. Csak azt akarjuk, hogy az Excel VBA tegyen valamit, ha valami megváltozik a B2 cellában. Ehhez a következő kódsor hozzáadásához:

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

6. Inicializáljuk a változó mennyiséget a B2 cellával.

amount = Range("B2").Value

7. A frekvenciatartományt kiürítjük.

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

Most már ideje megosztani a bevitt pénzmennyiséget, elindítjuk a For Next hurkot.

For i = 5 To 16

9. Használjuk a Do While Loop struktúrát. A szavak között elhelyezett kódot meg kell ismételni mindaddig, amíg a Do Do idő után a rész igaz. Azt akarjuk, hogy az Excel VBA ismételje meg a 10. sorban szereplő kódsorokat, amíg az összeg nagyobb vagy egyenlő a Cells (i, 1) értékkel.

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

Loop

10. Adja hozzá a következő kódsorokat a Do While Loop-hoz.

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

Magyarázat: mindaddig, amíg az összeg nagyobb vagy egyenlő a Cells (i, 1) értékkel, az összeg ebből az értékből számlákat / érméket tartalmaz. Ennek eredményeképpen az Excel VBA növeli a számla / érme gyakoriságát (első sor), és levonja a számla / érme értékét az összegből (második sor). Ezt a folyamatot meg kell ismételni, amíg az összeg kisebb lesz, mint a Cells (i, 1) érték. Ezután az Excel VBA megnöveli az i értéket, és a következő számlára / érmére megy, hogy megnézze, hányszor ez a számla / érme illeszkedik a maradék összeghez. Így a pénzösszegek számlákra és érmékre oszthatók, amíg már nincs több pénz a megosztásra.

11. Zárja be a For Next hurkot és ne felejtse el bezárni az if utasítás (mindkettő a Do While Loopon kívül).

   Next i
End if

12. Vizsgálja meg a programot.

Eredmény:

Számlák és érmék eredményei

Jegyzet: természetesen a beírt összeg nem feltétlenül tartalmaz minden számlát / érmét. Ha az összeg nem tartalmaz egy bizonyos számlát / érmét, az a rész, miután Do Do soha nem érhető el ez a számla / érme esetén, és az Excel VBA közvetlenül a következő számlára / érmére kerül.

Szintén olvasható: