Pretvornik valute u programu Excel VBA
U nastavku ćemo pogledati program u Excel VBA što stvara Userform obraćenici bilo koji iznos od jednog valuta u drugu.
Korisnički obrazac koji ćemo stvoriti izgleda ovako:
Da biste stvorili ovaj Userform, izvršite sljedeće korake.
1. Otvorite Visual Basic Editor. Ako Project Explorer nije vidljiv, kliknite View, Project Explorer.
2. Kliknite Insert, Userform. Ako Toolbox ne pojavljuje automatski, kliknite View, Toolbox. Vaš bi se zaslon trebao postaviti kao u nastavku.
3. Dodajte oznake, okvire za popise (prvi na lijevoj strani, drugi na desnoj strani), tekstne okvire (prvi na lijevoj strani, drugi na desnoj strani) i gumb za naredbe. Kada to završi, rezultat bi trebao biti u skladu s prethodno prikazanom korisničkom obrascu. Na primjer, izradite kontrolni okvir okvira klikom na ListBox iz Toolboxa. Zatim možete povući okvir popisa na korisničkom obrascu.
4. Možete promijeniti nazive i opise kontrola. Imena se koriste u Excel VBA kodu. Opisi su oni koji se pojavljuju na vašem zaslonu. Dobra je praksa mijenjati nazive kontrolnih jedinica, ali ovdje nije nužno jer imamo samo nekoliko kontrola u ovom primjeru. Da biste promijenili naslov Userform, gumb naredbe i naljepnice, kliknite View, Window Properties i kliknite na svaku kontrolu.
5. Da biste prikazali Userform, stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:
UserForm1.Show
End Sub
Sad ćemo stvoriti Sub UserForm_Initialize. Kada koristite metodu Prikaži za Korisnički obrazac, ovaj će podvrgnuti automatski.
6. Otvorite Visual Basic Editor.
7. U Project Exploreru desnom tipkom miša kliknite UserForm1 i zatim kliknite View Code.
8. S padajućeg popisa s lijeve strane odaberite Userform. Na padajućem popisu odaberite Inicijaliziraj.
9. Dodajte sljedeće retke koda:
With ListBox1
.AddItem "Euro"
.AddItem "Us Dollar"
.AddItem "British Pound"
End With
With ListBox2
.AddItem "Euro"
.AddItem "Us Dollar"
.AddItem "British Pound"
End With
ListBox1.ListIndex = 1
ListBox2.ListIndex = 0
TextBox1.Value = 1
TextBox2.Value = 0.722152
End Sub
Objašnjenje: prvo se popunjavaju dvije okvire za popise. Zatim, valuta u američkom dolaru postavljena je kao zadana vrijednost u prvom okviru s popisa i valuta EURO postavljena je kao zadana u drugi okvir za popis. Konačno, vrijednost 1 unosi se u prvi tekstni okvir i vrijednost 0,722152 unosi se u drugi tekstni okvir.
Sada smo stvorili prvi dio Korisničkog obrasca. Iako već izgleda uredno, ništa se neće dogoditi kada kliknemo gumb Idi.
10. U Project Exploreru dvaput kliknite UserForm1.
11. Dvokliknite gumb Go (Idi).
12. Dodajte sljedeće retke koda:
Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer
rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452
rates(1, 0) = 0.722152
rates(1, 1) = 1
rates(1, 2) = 0.63161
rates(2, 0) = 1.143484
rates(2, 1) = 1.583255
rates(2, 2) = 1
For i = 0 To 2
For j = 0 To 2
If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)
Next j
Next i
End Sub
Objašnjenje: prvo, izjavljujemo polje. Polje ima dvije dimenzije. Sastoji se od 3 reda i 3 stupca. Zatim, inicijaliziramo svaki element polja. Na primjer, stope (1,0) predstavlja tečajnu stopu od američkog dolara do eura. Zatim započinjemo dvostruku petlju. Ovisno o odabranim valutama u okvirima popisa, Excel VBA pretvara iznos unesen u prvi tekstni okvir i prikazuje rezultat u drugom tekstnom okviru.
Primjer: Ako i = 2 i j = 1, a vrijednost 2 unosimo u prvi tekstni okvir, Excel VBA stavlja vrijednost 2 * stope (2,1) = 2 * 1.583255 = 3.16651 u drugi tekstni okvir.
13. Ispitajte Userform.
Proizlaziti: