Arved ja mündid Excelis VBA - lihtsad Exceli makrod

Lang L: none (table-of-contents)

Allpool vaatame programmi Exceli VBA mis jagab rahasumma rahatähed ja mündid.

Olukord:

Töölehe muutmise sündmuse loomine. Töölehe muutmise sündmusele lisatud kood käivitatakse Exceli VBA abil, kui muudate töölehe lahtrit.

1. Avage Visual Basic Editor.

2. Topeltklõpsake Project Exploreris Sheet1 (Sheet1).

3. Valige vasakpoolsest ripploendist Tööleht. Valige parempoolsest ripploendist Muuda.

Lisage töölehe muutmise sündmusele järgmised koodiridad:

4. Kuulutage muutuja nimega Double tüüp ja muutuja i tüüpi täisarv.

Dim summa As Double, i As Integer

5. Töölehe muutmise sündmus kuulab kõiki muudatusi lehel1. Soovime, et Excel VBA teeks midagi ainult siis, kui lahtris B2 midagi muutub. Selle saavutamiseks lisage järgmine koodirida:

Kui Target.Address = "$ B $ 2" Siis

6. Initsialiseerime muutuva summa lahtri B2 väärtusega.

 summa = vahemik ("B2"). Väärtus

7. Tühjendame vahemiku sagedustega.

Vahemik ("B5: B16"). Väärtus = ""

8. Nüüd on aeg sisestatud rahasumma poolitada. Alustame järgneva tsükli jaoks.

I = 5 kuni 16

9. Kasutame Do Do Loop struktuuri. Nende sõnade vahele pandud koodi korratakse seni, kuni Do Do -i järel olev osa on tõene. Soovime, et Excel VBA kordaks 10. sammu koodiridu seni, kuni summa on suurem või võrdne lahtritega (i, 1). Väärtus.

Kas Kuigi summa> = Lahtrid (i, 1). Väärtus
Loop

10. Lisage Do while Loopi järgmised koodiridad.

Lahtrid (i, 2). Väärtus = lahtrid (i, 2). Väärtus + 1
summa = summa - lahtrid (i, 1). Väärtus

Selgitus: seni, kuni summa on suurem või võrdne lahtrite (i, 1) väärtusega, sisaldab summa selle väärtusega arveid/münte. Selle tulemusel suurendab Excel VBA selle arve/mündi sagedust (esimene rida) ja lahutab summast (teine ​​rida) arve/mündi väärtuse. Seda protsessi korratakse, kuni kogus muutub väiksemaks kui lahtrite (i, 1) väärtus. Järgmisena suurendab Excel VBA i ja liigub järgmise arve/mündi juurde, et näha, mitu korda see arve/münt ära mahub. Nii jagatakse rahasumma kupüürideks ja müntideks, kuni jagamiseks pole enam raha.

11. Sulgege järgmiseks tsükkel ja ärge unustage if -lauset sulgeda (mõlemad väljaspool Do Do Loopi).

 Edasi i
Lõpetage, kui

12. Testige programmi.

Tulemus:

Märkus: sisestatud summa ei sisalda muidugi kõiki arveid/münte. Kui summa ei sisalda kindlat arvet/münti, ei muutu osa Do Do samas pärast seda arvet/münti kunagi tõeseks ja Excel VBA läheb otse järgmisele arvele/mündile.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave