/ / Valutaátalakító Excel VBA-ban

Valutaátalakító Excel VBA-ban

Az alábbiakban egy programot nézünk be Excel VBA amely létrehoz egy Userformt megtértek bármely összeg egy valuta egy másikba.

A felhasználói forma, amelyet meg fogunk alkotni, a következőképpen néz ki:

Valutaátalakító Excel VBA-ban

A Userform létrehozásához hajtsa végre a következő lépéseket.

1. Nyissa meg a Visual Basic Editor alkalmazást. Ha a Project Explorer nem látható, kattintson a Nézet, a Project Explorer elemre.

2. Kattintson a Beszúrás, Felhasználóformátum elemre. Ha az Eszköztár nem jelenik meg automatikusan, kattintson a Nézet, Eszköztár elemre. A képernyő beállítása az alábbiak szerint történik.

Userform képernyőbeállítás az Excel VBA-ban

3. Adja hozzá a címkéket, a listatáblákat (balra, a második jobbra), szövegdobozokat (először a bal oldalon, a második a jobb oldalon) és a parancsgombot. Miután ez befejeződött, az eredménynek összhangban kell lennie a korábban bemutatott Userform képével. Létrehozhat például egy listabox-vezérlőt az Eszköztáron lévő ListBox elemre kattintva. Ezután húzza át a listát a Userformon.

4. Megváltoztathatja a vezérlők nevét és feliratait. A neveket az Excel VBA kódban használják. Feliratok azok, amelyek a képernyőn jelennek meg. Jó gyakorlat a vezérlők nevének megváltoztatása, de itt nem szükséges, mert ebben a példában csak néhány kontroll van. A Felhasználóformátum, a parancs gomb és a címkék feliratának módosításához kattintson a Nézet, a Tulajdonságok ablakra, és kattintson az egyes vezérlőkre.

5. A Userform megjelenítéséhez helyezze a parancsgombot a munkalapra, és adja hozzá a következő kódot:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Most létrehozzuk a Sub UserForm_Initialize-t. Amikor a Userform metódust használja, ez a rész automatikusan végrehajtásra kerül.

6. Nyissa meg a Visual Basic Editor alkalmazást.

7. A Project Explorerben kattintson jobb gombbal a UserForm1-re, majd kattintson a View Code (Kód megtekintése) parancsra.

8. A bal oldali legördülő listáról válassza a Userform (Felhasználóformátum) lehetőséget. Válassza az Initialize lehetőséget a jobb legördülő listából.

9. Adja hozzá a következő kódsorokat:

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

Magyarázat: először a két listázó mező kitöltődik. Ezután az Egyesült Államok dollár pénznemét alapértelmezettként az első listában jelöli, és az EURO pénznem alapértelmezés szerint a második listán. Végül az 1 értéket az első szövegmezőbe írja be, és a 0.722152 értéket a második szövegmezőbe írja be.

Most létrehoztuk a Userform első részét. Bár már jól néz ki, még akkor sem történik semmi, amikor rákattintunk a Go gombra.

10. A Project Explorer programban kattintson duplán a UserForm1-re.

11. Kattintson duplán a Go gombra.

12. Adja hozzá a következő kódsorokat:

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

Magyarázat: először egy tömböt deklarálunk. A tömb két dimenzióval rendelkezik. 3 sorból és 3 oszlopból áll. Ezután a tömb minden elemét inicializáljuk. Például, az árfolyamok (1,0) az amerikai dollárról EUR-ra érvényes devizaárfolyam. Ezután kettős hurkot indítunk. A listában a kijelölt pénznemektől függően az Excel VBA az első szövegmezőben megadott összeget konvertálja, és az eredményt megjeleníti a második szövegmezőben.

Példa: Ha i = 2 és j = 1, és az első szövegmezőbe beírjuk a 2-es értéket, az Excel VBA a második szövegmezőbe helyezi a 2 * értéket (2,1) = 2 * 1.583255 = 3.16651 értéket.

13. Vizsgálja meg a Userform.

Eredmény:

Valutaváltó eredmény

Szintén olvasható: