/ / Valuuttamuunnin Excel VBA: ssa

Valuuttamuunnin Excel VBA: ssa

Alla tarkastelemme ohjelmaa Excel VBA joka luo käyttäjätunnuksen, joka muuntaa mikä tahansa summa yhdestä valuutta toiseen.

Käyttäjäformaatti, jonka aiomme luoda, näyttää seuraavaa:

Valuuttamuunnin Excel VBA: ssa

Tee tämä Käyttäjäluettelo seuraavasti.

1. Avaa Visual Basic -editori. Jos Project Explorer ei ole näkyvissä, valitse View, Project Explorer.

2. Napsauta Insert, Userform. Jos työkalupakki ei tule näkyviin automaattisesti, valitse Näytä, työkalupakki. Näyttösi on määritettävä alla.

Userform-näytön asetukset Excel VBA: ssa

3. Lisää etiketit, luetteloruudut (ensimmäinen vasemmalla, toinen oikealla), tekstiruutu (ensimmäinen vasemmalla, toinen oikealla) ja komentopainike. Kun tämä on saatu päätökseen, tuloksen on oltava johdonmukainen aikaisemmin esitetyn käyttäjätiedon kuvan kanssa. Luo esimerkiksi luetteloruudun valinta klikkaamalla ToolBoxissa olevaa ListBoxia. Seuraavaksi voit vetää luetteloruudun Userform-muodossa.

4. Voit muuttaa ohjaimien nimeä ja kuvatekstejä. Nimet käytetään Excel VBA -koodissa. Kuvatekstit ovat niitä, jotka näkyvät näytölläsi. On hyvä käytäntö muuttaa ohjaimien nimet, mutta se ei ole tarpeen tässä, koska tässä esimerkissä on vain muutama valvonta. Jos haluat muuttaa Userformin, komentopainikkeen ja tarrojen otsikon, napsauta Näytä, Ominaisuudet-ikkuna ja napsauta jokaista ohjausta.

5. Kun haluat näyttää Userform, aseta komentokehote laskentatauluun ja lisää seuraava koodirivi:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Aiomme nyt luoda Sub UserForm_Initialize. Kun käytät User-muodon Show-menetelmää, tämä osa suoritetaan automaattisesti.

6. Avaa Visual Basic -editori.

7. Napsauta Project Explorer -ohjelmaa hiiren kakkospainikkeella UserForm1 ja sen jälkeen Näytä koodi.

8. Valitse Käyttäjätunnus vasemmalta avattavasta luettelosta. Valitse avattavasta oikeasta alasvetovalikosta Aloita.

9. Lisää seuraavat koodiluokat:

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

Selitys: Ensiksi kaksi luetteloruudusta täytetään. Seuraavaksi Yhdysvaltain dollarin valuutta on asetettu oletusarvoksi ensimmäisessä luetteloruudussa ja EURO-valuutan oletusarvo on toisessa luetteloruudussa. Lopuksi arvo 1 syötetään ensimmäiseen tekstiruutuun ja arvo 0.722152 syötetään toiseen tekstiruutuun.

Olemme nyt luoneet Userformin ensimmäisen osan. Vaikka se näyttää hyvältä jo, mikään ei tapahdu, kun napsautamme Go-painiketta.

10. Kaksoisnapsauta Project Explorerissa UserForm1-ohjelmaa.

11. Kaksoisnapsauta Go-painiketta.

12. Lisää seuraavat koodiluokat:

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

Selitys: Ensin ilmoitamme taulukon. Joukossa on kaksi ulottuvuutta. Se koostuu kolmesta rivistä ja 3 sarakkeesta. Seuraavaksi alustetaan taulukon jokainen osa. Esimerkiksi hinnat (1,0) ovat Yhdysvaltain dollarin ja euron välinen valuuttakurssi. Seuraavaksi aloitamme kaksinkertaisen silmukan. Valintaruutuista riippuen Excel VBA muuntaa ensimmäisen tekstilaatikon syötetyn summan ja näyttää tulokset toisessa tekstilaatikossa.

Esimerkki: jos i = 2 ja j = 1 ja syötämme arvon 2 ensimmäiseen tekstiruutuun, Excel VBA asettaa arvoksi 2 * hinnat (2,1) = 2 * 1.583255 = 3.16651 toiseen tekstiruutuun.

13. Testaa käyttöohje.

Tulos:

Valuuttamuuntimen tulos

Lue myös: