Računi in kovanci v Excelu VBA - enostavni Excelovi makri

Kazalo

Spodaj si bomo ogledali program v Excel VBA ki razdeli vsoto denarja bankovci in kovanci.

Situacija:

Ustvarite dogodek spremembe delovnega lista. Kodo, dodano dogodku spremembe delovnega lista, bo Excel VBA izvedel, ko spremenite celico na delovnem listu.

1. Odprite urejevalnik Visual Basic.

2. Dvokliknite Sheet1 (Sheet1) v Raziskovalcu projektov.

3. Na levem spustnem seznamu izberite Delovni list. Na desnem spustnem seznamu izberite Spremeni.

Dogodku spremembe delovnega lista dodajte naslednje vrstice kode:

4. Razglasite spremenljivko, imenovano količina tipa Double, in spremenljivko i tipa Integer.

Zatemni znesek kot dvojno, i kot celo število

5. Dogodek spremembe delovnega lista posluša vse spremembe na listu1. Želimo, da Excel VBA nekaj naredi le, če se v celici B2 kaj spremeni. Če želite to narediti, dodajte naslednjo kodno vrstico:

Če je Target.Address = "$ B $ 2" Potem

6. Inicializiramo spremenljivo količino z vrednostjo celice B2.

 znesek = obseg ("B2"). Vrednost

7. Izpraznimo obseg s frekvencami.

Razpon ("B5: B16"). Vrednost = ""

8. Zdaj je čas, da razdelite vneseno količino denarja. Začnemo zanko For Next.

Za i = 5 do 16

9. Uporabili bomo strukturo Do While Loop. Koda med temi besedami se bo ponavljala, dokler je del za Do While res. Želimo, da Excel VBA ponovi kodne vrstice v koraku 10, dokler je znesek večji ali enak celicam (i, 1).

Do While količina> = Celice (i, 1) .Vrednost
Zanka

10. V zanko Do While Loop dodajte naslednje vrstice kod.

Celice (i, 2) .Vrednost = Celice (i, 2) .Vrednost + 1
znesek = znesek - celice (i, 1) .Vrednost

Pojasnilo: dokler je znesek večji ali enak celicam (i, 1) .Vrednost, znesek vsebuje bankovce/kovance te vrednosti. Posledično Excel VBA poveča pogostost tega računa/kovanca (prva vrstica) in odšteje vrednost računa/kovanca od zneska (druga vrstica). Ta postopek se ponavlja, dokler količina ne postane manjša od vrednosti celic (i, 1). Nato Excel VBA poveča i in gre na naslednji račun/kovanec, da preveri, kolikokrat ta račun/kovanec ustreza preostalemu znesku. Tako se bo znesek denarja razdelil na bankovce in kovance, dokler ne ostane več denarja za razdelitev.

11. Zaprite zanko For Next in ne pozabite zapreti stavka if (oba zunaj zanke Do While).

 Naprej i
Konec, če

12. Preizkusite program.

Rezultat:

Opomba: seveda vneseni znesek ne vsebuje nujno vsakega računa/kovanca. Če znesek ne vsebuje določenega računa/kovanca, del za Do Dokler nikoli ne postane resničen za ta račun/kovanec in Excel VBA gre neposredno na naslednji račun/kovanec.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave