/ / Valiuta konverteris Excel VBA

Valiutų konverteris "Excel VBA"

Žemiau apžvelgsime programą Excel VBA kuri sukuria Userform, kad konvertuoja bet kokia suma iš vienos valiuta į kitą.

"Userform", kurį ketiname kurti, atrodo taip:

Valiutų konverteris "Excel VBA"

Norėdami sukurti šį Userform, atlikite šiuos veiksmus.

1. Atidarykite "Visual Basic" redaktorių. Jei "Project Explorer" nematoma, spustelėkite "View", "Project Explorer".

2. Spustelėkite Insert, Userform. Jei įrankių dėžė automatiškai pasirodys, spustelėkite Rodyti, įrankių dėžutę. Jūsų ekranas turėtų būti nustatytas žemiau.

"Userform" ekrano sąranka "Excel VBA"

3. Įtraukite etiketes, sąrašo dėžutes (pirmiau kairėje, antrasis dešinėje), teksto laukus (pirmą kairę, antrą dešinę) ir komandų mygtuką. Kai tai bus baigta, rezultatas turėtų atitikti anksčiau pateiktą "Userform" paveikslėlį. Pavyzdžiui, sukurkite sąrašo lango valdiklį, spustelėję ListBox iš įrankių juostos. Tada galite vilkti sąrašo laukelį Userform.

4. Galite keisti valdiklių pavadinimus ir antraštes. Vardai naudojami "Excel VBA" kodu. Subtitrai yra tie, kurie rodomi ekrane. Gera praktika pakeisti kontrolinių pavadinimų pavadinimus, tačiau čia nereikia, nes šiame pavyzdyje turime tik keletą kontrolių. Norėdami pakeisti "Userform" antraštę, komandų mygtuką ir etiketes, spustelėkite View, Properties Window ir spustelėkite kiekvieną valdiklį.

5. Norėdami parodyti "Userform", į savo darbalapį pridėkite komandų mygtuką ir pridėkite šią kodo eilutę:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Dabar ketiname sukurti Sub UserForm_Initialize. Kai naudojate "Show" metodą "Userform", šis pogrupis automatiškai bus įvykdytas.

6. Atidarykite "Visual Basic" redaktorių.

7. "Project Explorer" dešiniuoju pelės mygtuku spustelėkite "UserForm1" ir spustelėkite "Peržiūrėti kodą".

8. Iš kairės išskleidžiamojo sąrašo pasirinkite Userform. Iš dešiniojo išskleidžiamojo sąrašo pasirinkite Inicijuoti.

9. Įtraukite šias kodo eilutes:

Private Sub UserForm_Initialize()

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

Paaiškinimas: pirma, du langeliai užpildomi. Toliau pirmojo sąrašo langelyje JAV dolerio valiuta nustatoma kaip numatytoji, o antrojo sąrašo laukelyje - EURO valiuta. Galiausiai 1 vertė įvedama į pirmąjį teksto laukelį, o antroje teksto laukelyje įrašoma reikšmė 0.722152.

Dabar sukūrėme pirmąją "Userform" dalį. Nors tai atrodo gerai tvarkoma, nieko nebus įvykdyta spustelėję mygtuką "Eiti".

10. "Project Explorer" dukart spustelėkite "UserForm1".

11. Dukart spustelėkite mygtuką "Eiti".

12. Įtraukite šias kodo eilutes:

Private Sub CommandButton1_Click()

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

Paaiškinimas: pirma, mes deklaruojame masyvą. Masyvas turi du matmenis. Jį sudaro 3 eilutės ir 3 stulpeliai. Be to, mes inicializuojame kiekvieną masyvo elementą. Pavyzdžiui, normos (1,0) yra valiutos kursas nuo JAV dolerio iki EURO. Tada mes pradedame dvigubą kilpą. "Excel VBA" konvertuoja pirmojoje teksto laukelyje įrašytą sumą priklausomai nuo pasirinktų valiutų sąrašo laukuose, o rezultatas rodomas antroje teksto laukelyje.

Pavyzdys: jei i = 2 ir j = 1, o pirmame teksto lauke įveskite reikšmę 2, "Excel VBA" antroje teksto laukelyje nustato reikšmes 2 * normos (2,1) = 2 * 1,583255 = 3,16651.

13. Patikrinkite Userform.

Rezultatas:

Valiutų konversijos rezultatas

Taip pat perskaitykite: