Regninger og mønter i Excel VBA - nemme Excel -makroer

Indholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA der deler et beløb op i sedler og mønter.

Situation:

Opret en regnearksændringshændelse. Kode tilføjet til regnearksændringshændelsen udføres af Excel VBA, når du ændrer en celle i et regneark.

1. Åbn Visual Basic Editor.

2. Dobbeltklik på Sheet1 (Sheet1) i Project Explorer.

3. Vælg regneark på rullelisten til venstre. Vælg Skift fra den højre rulleliste.

Tilføj følgende kodelinjer til regnearksændringshændelsen:

4. Angiv en variabel kaldet mængden af ​​type Double og en variabel i af typen Integer.

Dim beløb som dobbelt, i som heltal

5. Regnearkændringshændelsen lytter til alle ændringer på Sheet1. Vi vil kun have Excel VBA til at gøre noget, hvis noget ændrer sig i celle B2. For at opnå dette skal du tilføje følgende kodelinje:

Hvis Target.Address = "$ B $ 2" Så

6. Vi initialiserer det variable beløb med værdien af ​​celle B2.

 beløb = område ("B2"). Værdi

7. Vi tømmer området med frekvenserne.

Område ("B5: B16"). Værdi = ""

8. Nu er det tid til at dele det indtastede beløb. Vi starter en For Next loop.

For i = 5 til 16

9. Vi vil gøre brug af Do While Loop -strukturen. Kode placeret mellem disse ord vil blive gentaget, så længe delen efter Do While er sand. Vi vil have Excel VBA til at gentage kodelinjerne i trin 10, så længe beløbet er større eller lig med celler (i, 1). Værdi.

Gør Mens beløb> = Celler (i, 1). Værdi
Sløjfe

10. Tilføj følgende kodelinjer til Do While Loop.

Celler (i, 2) .Værdi = Celler (i, 2) .Værdi + 1
beløb = beløb - Celler (i, 1). Værdi

Forklaring: så længe beløbet er større eller lig med celler (i, 1). Værdi, indeholder beløbet sedler/mønter af denne værdi. Som følge heraf øger Excel VBA hyppigheden af ​​denne seddel/mønt (første linje) og trækker værdien af ​​sedlen/mønten fra beløbet (anden linje). Denne proces vil blive gentaget, indtil mængden bliver mindre end celler (i, 1). Værdi. Dernæst øger Excel VBA i og går til den næste seddel/mønt for at se, hvor mange gange denne seddel/mønt passer i det resterende beløb. På denne måde bliver mængden af ​​penge opdelt i regninger og mønter, indtil der ikke længere er penge tilbage til at dele.

11. Luk For Næste loop og glem ikke at lukke if -sætningen (begge uden for Do While Loop).

 Næste i
Afslut Hvis

12. Test programmet.

Resultat:

Bemærk: Selvfølgelig indeholder det indtastede beløb ikke nødvendigvis hver seddel/mønt. Hvis beløbet ikke indeholder en bestemt seddel/mønt, bliver delen efter Do While aldrig sand for denne seddel/mønt, og Excel VBA går direkte til den næste seddel/mønt.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave