Regninger og mynter i Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA som deler en sum penger inn sedler og mynter.

Situasjon:

Lag en hendelsesendringshendelse. Koden som er lagt til i regnearksendringshendelsen, blir utført av Excel VBA når du endrer en celle i et regneark.

1. Åpne Visual Basic Editor.

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

3. Velg Regneark fra rullegardinlisten til venstre. Velg Endre fra rullegardinlisten til høyre.

Legg til følgende kodelinjer i regnearkendringshendelsen:

4. Angi en variabel som kalles mengde av type Double og en variabel i av type Heltall.

Dim sum As Double, i As Integer

5. Regnearksendringshendelsen lytter til alle endringene på Sheet1. Vi vil bare at Excel VBA skal gjøre noe hvis noe endres i celle B2. For å oppnå dette, legg til følgende kodelinje:

Hvis Target.Address = "$ B $ 2" Da

6. Vi initialiserer den variable mengden med verdien av celle B2.

 beløp = Område ("B2"). Verdi

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

Område ("B5: B16"). Verdi = ""

8. Nå er det på tide å dele det angitte beløpet. Vi starter en For Next loop.

For i = 5 til 16

9. Vi vil gjøre bruk av Do While Loop -strukturen. Koden plassert mellom disse ordene vil gjentas så lenge delen etter Do While er sann. Vi vil at Excel VBA skal gjenta kodelinjene i trinn 10 så lenge beløpet er større eller lik Celler (i, 1) .verdi.

Gjør Mens -mengde> = Celler (i, 1). Verdi
Løkke

10. Legg til følgende kodelinjer i Do While Loop.

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

Forklaring: så lenge beløpet er større eller lik Celler (i, 1). Verdi, inneholder beløpet sedler/mynter av denne verdien. Som et resultat øker Excel VBA frekvensen til denne sedlen/mynten (første linje) og trekker verdien av sedlen/mynten fra beløpet (andre linje). Denne prosessen vil gjentas til mengden blir mindre enn celler (i, 1). Verdi. Deretter øker Excel VBA i og går til neste seddel/mynt for å se hvor mange ganger denne sedlen/mynten passer i beløpet som er igjen. På denne måten blir mengden penger delt inn i sedler og mynter til det ikke er penger igjen å dele.

11. Lukk For Next -løkken og ikke glem å lukke if -setningen (begge utenfor Do While Loop).

 Neste jeg
Slutt om

12. Test programmet.

Resultat:

Merk: Selvfølgelig inneholder det angitte beløpet ikke nødvendigvis alle sedler/mynter. Hvis beløpet ikke inneholder en bestemt seddel/mynt, blir delen etter Do While aldri sant for denne sedlen/mynten, og Excel VBA går direkte til neste seddel/mynt.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave