/ / Convertor valutar în Excel VBA

Convertor valutar în Excel VBA

Mai jos ne vom uita la un program în Excel VBA care creează o Userform care convertiți orice sumă de la una valută în altul.

Formularul de utilizator pe care îl vom crea arată după cum urmează:

Convertor valutar în Excel VBA

Pentru a crea această formă de utilizator, executați următorii pași.

1. Deschideți Editorul Visual Basic. Dacă Project Explorer nu este vizibil, faceți clic pe Vizualizare, Project Explorer.

2. Faceți clic pe Inserare, Formă utilizator. Dacă Toolbox-ul nu apare automat, faceți clic pe View (Vizualizare), Toolbox (Instrumente). Ecranul dvs. trebuie să fie configurat ca mai jos.

Setarea ecranului utilizatorului în Excel VBA

3. Adăugați etichetele, casetele de listă (mai întâi la stânga, a doua la dreapta), cutiile de text (primul din stânga, cel de-al doilea din dreapta) și butonul de comandă. Odată terminată, rezultatul ar trebui să fie în concordanță cu imaginea formularului de utilizator afișat mai devreme. De exemplu, creați un control al casetei de listă, făcând clic pe Listă în caseta de instrumente. Apoi, puteți glisa o casetă de listă pe Userform.

4. Puteți modifica numele și subtitrarea comenzilor. Numele sunt utilizate în codul Excel VBA. Titlurile sunt cele care apar pe ecran. Este o practică bună schimbarea numelor comenzilor, dar nu este necesară aici, deoarece avem doar câteva controale în acest exemplu. Pentru a modifica legenda Userform, butonul de comandă și etichetele, faceți clic pe Vizualizare, fereastra de proprietăți și faceți clic pe fiecare comandă.

5. Pentru a afișa Userform, plasați un buton de comandă pe foaia de lucru și adăugați următoarea linie de cod:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Acum vom crea Sub UserForm_Initialize. Când utilizați metoda de afișare pentru formularul de utilizator, această secțiune va fi executată automat.

6. Deschideți Editorul Visual Basic.

7. În Project Explorer, faceți clic dreapta pe UserForm1 și apoi faceți clic pe View Code (Vizualizare cod).

8. Selectați Format utilizator din lista verticală stânga. Selectați Inițializare din lista derulantă din dreapta.

9. Adăugați următoarele linii de cod:

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

Explicație: mai întâi, cele două casete din listă sunt completate. Apoi, moneda Dolarului SUA este setată ca valoare implicită în prima casetă listă, iar moneda EURO este setată ca valoare implicită în a doua casetă de listă. În cele din urmă, valoarea 1 este introdusă în prima casetă de text și valoarea 0.722152 este introdusă în a doua casetă de text.

Am creat acum prima parte a Userform. Deși arată deja bine, nu se va întâmpla nimic când faceți clic pe butonul Go.

10. În Project Explorer, faceți dublu clic pe UserForm1.

11. Faceți dublu clic pe butonul Go.

12. Adăugați următoarele linii de cod:

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

Explicație: mai întâi declarăm o matrice. Matricea are două dimensiuni. Se compune din 3 rânduri și 3 coloane. Apoi, inițializăm fiecare element al matricei. De exemplu, rata (1,0) este rata de schimb valutar de la dolarul SUA la EURO. Apoi începem o buclă dublă. În funcție de monedele selectate din casetele listei, Excel VBA convertește suma introdusă în prima casetă de text și afișează rezultatul în a doua casetă de text.

Exemplu: dacă i = 2 și j = 1 și introduceți valoarea 2 în prima casetă de text, Excel VBA plasează valoarea 2 * rate (2,1) = 2 * 1,583255 = 3,16651 în a doua casetă de text.

13. Testați formatul de utilizator.

Rezultat:

Rezultatul conversiei valutare

De asemenea, citiți: