/ Prevodník mien v programe Excel VBA

Prevodník mien v programe Excel VBA

Nižšie sa pozrieme na program v sekcii Excel VBA ktorý vytvorí Userform to konvertuje akákoľvek suma z jedného mena do iného.

Forma User, ktorú chceme vytvoriť, vyzerá takto:

Prevodník mien v programe Excel VBA

Ak chcete vytvoriť tento Userform, vykonajte nasledujúce kroky.

1. Otvorte Editor jazyka. Ak nástroj Project Explorer nie je viditeľný, kliknite na položku Zobraziť, Project Explorer.

2. Kliknite na Insert, Userform. Ak sa panel nástrojov nezobrazí automaticky, kliknite na položku Zobraziť, panel s nástrojmi. Obrazovka by mala byť nastavená tak, ako je uvedené nižšie.

Nastavenie obrazovky používateľa v programe Excel VBA

3. Pridajte štítky, zoznamy (najprv vľavo, druhý vpravo), textové polia (prvý vľavo, druhý vpravo) a príkazové tlačidlo. Po dokončení tohto výsledku by mal byť výsledok v súlade s obrázkom užívateľa, ktorý je zobrazený skôr. Napríklad vytvorte ovládací prvok zoznamu po kliknutí na zoznam v zozname nástrojov. Ďalej môžete pretiahnuť zoznam v Userform.

4. Môžete zmeniť názvy a popisy ovládacích prvkov. Názvy sa používajú v kóde programu Excel VBA. Titulky sú tie, ktoré sa zobrazujú na vašej obrazovke. Správna prax je zmeniť mená ovládacích prvkov, nie je to však potrebné, pretože v tomto príklade máme len niekoľko kontrol. Ak chcete zmeniť popis Userform, príkazového tlačidla a štítkov, kliknite na položku Zobraziť, okno Vlastnosti a kliknite na každý ovládací prvok.

5. Ak chcete zobraziť Userform, umiestnite do pracovného hárka príkazové tlačidlo a pridajte nasledujúci riadok kódu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Teraz vytvoríme Sub UserForm_Initialize. Ak použijete metódu Show for Userform, táto podstata sa automaticky vykoná.

6. Otvorte Editor jazyka.

7. V programe Project Explorer kliknite pravým tlačidlom na UserForm1 a potom kliknite na View Code.

8. V ľavom rozbaľovacom zozname vyberte položku Userform. V pravom rozbaľovacom zozname vyberte možnosť Inicializovať.

9. Pridajte nasledujúce riadky kódu:

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

Vysvetlenie: najprv sa vyplnia dva zoznamy. Ďalej je v prvom zozname nastavená mena amerického dolára ako predvolená a mena EURO je nastavená ako predvolená v druhom zozname. Nakoniec sa do prvého textového poľa zadá hodnota 1 a do druhého textového poľa sa zadá hodnota 0.722152.

Teraz sme vytvorili prvú časť Userform. Aj keď to vyzerá dobre, nič sa nestane, keď klikneme na tlačidlo Go.

10. V programe Project Explorer dvakrát kliknite na UserForm1.

11. Dvakrát kliknite na tlačidlo Prejsť.

12. Pridajte nasledujúce riadky 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

Vysvetlenie: najprv vyhlasujeme pole. Pole má dva rozmery. Skladá sa z 3 riadkov a 3 stĺpcov. Ďalej inicializujeme každý prvok poľa. Sadzby (1,0) sú napríklad menové kurzy z amerického dolára na EURO. Ďalej začneme dvojitú slučku. V závislosti od vybraných mien v zoznamových poliach Excel VBA konvertuje sumu zadanú do prvého textového poľa a výsledok sa zobrazí v druhom textovom poli.

Príklad: ak i = 2 a j = 1 a zadáme hodnotu 2 v prvom textovom poli, Excel VBA umiestni v druhom textovom poli hodnotu 2 * (2,1) = 2 * 1,583255 = 3,16651.

13. Otestujte Formu používateľa.

výsledok:

Výsledok menového prevodu

Tiež si prečítajte: