/ / Převodník měn v aplikaci Excel VBA

Převodník měn v aplikaci Excel VBA

Níže se podíváme na program v Excel VBA který vytvoří Userform to konvertuje jakoukoli částku od jednoho měna do jiného.

Uživatelský formulář, který vytvoříme, vypadá takto:

Převodník měn v aplikaci Excel VBA

Chcete-li vytvořit tento Userform, proveďte následující kroky.

1. Otevřete editor jazyka. Pokud aplikace Project Explorer není viditelná, klepněte na tlačítko Zobrazit, Project Explorer.

2. Klepněte na tlačítko Vložit, Formát uživatele. Pokud se panel nástrojů nezobrazí automaticky, klikněte na tlačítko Zobrazit, panel nástrojů. Vaše obrazovka by měla být nastavena níže.

Uživatelské nastavení obrazovky v aplikaci Excel VBA

3. Přidejte štítky, seznamy (první vlevo, druhý vpravo), textové pole (první vlevo, druhý vpravo) a příkazové tlačítko. Jakmile je tento postup dokončen, výsledek by měl být v souladu s obrázkem výše uvedeného formuláře User. Vytvořte například ovládací prvek seznamu kliknutím na seznam v panelu nástrojů. Dále můžete přetáhnout seznam do pole Userform.

4. Můžete změnit názvy a popisy ovládacích prvků. Jména jsou používána v kódu VBA aplikace Excel. Titulky jsou ty, které se zobrazují na obrazovce. Je dobré změnit názvy ovládacích prvků, ale není to nutné, protože v tomto příkladu máme jen několik ovládacích prvků. Chcete-li změnit popis Userform, příkazového tlačítka a štítků, klepněte na tlačítko Zobrazit, okno Vlastnosti a klepněte na každý ovládací prvek.

5. Chcete-li zobrazit Userform, umístěte příkazové tlačítko na pracovní list a přidejte následující řádek:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Nyní vytvoříme Sub UserForm_Initialize. Pokud použijete metodu Show for Userform, bude automaticky provedena tato položka.

6. Otevřete editor jazyka.

7. V Průzkumníku projektu klepněte pravým tlačítkem na UserForm1 a potom klepněte na tlačítko Zobrazit kód.

8. Z rozevíracího seznamu vlevo zvolte položku Forma uživatele. V pravém rozevíracím seznamu vyberte příkaz Inicializovat.

9. Přidejte následující řádky kódů:

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

Vysvětlení: Nejprve jsou vyplněny dva seznamy. Dále je v prvním seznamu nastavena měna amerického dolaru jako výchozí a v druhém seznamu je měna EURO nastavena jako výchozí. Nakonec se do prvního textového pole zadá hodnota 1 a do druhého textového pole se zadá hodnota 0.722152.

Nyní jsme vytvořili první část Userform. I když to vypadá dobře, nic se nestane, když klikneme na tlačítko Go.

10. V aplikaci Project Explorer poklepejte na UserForm1.

11. Dvakrát klikněte na tlačítko Go.

12. Přidejte následující řádky kódu:

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

Vysvětlení: Nejprve vyhlasujeme pole. Pole má dva rozměry. Skládá se ze 3 řádků a 3 sloupců. Dále inicializujeme každý prvek pole. Například sazby (1,0) jsou kurzy měn od amerického dolaru po euro. Dále začneme dvojitou smyčku. V závislosti na vybraných měnách v seznamu, aplikace Excel VBA převede částku zadanou do prvního textového pole a zobrazí výsledek ve druhém textovém poli.

Příklad: Pokud i = 2 a j = 1 a do prvního textového pole zadáme hodnotu 2, Excel VBA umístí hodnotu 2 * (2,1) = 2 * 1,583255 = 3,16651 do druhého textového pole.

13. Otestujte formulář User.

Výsledek:

Výsledek měnového konvertoru

Také si přečtěte: