/ / Przelicznik walut w programie Excel VBA

Przelicznik walut w Excel VBA

Poniżej przyjrzymy się programowi w Excel VBA który tworzy formularz użytkownika, który nawraca się dowolna kwota z jednego waluta w inny.

Forma użytkownika, którą utworzymy, wygląda następująco:

Przelicznik walut w Excel VBA

Aby utworzyć tę Userform, wykonaj następujące kroki.

1. Otwórz Edytor Visual Basic. Jeśli Eksplorator projektu nie jest widoczny, kliknij opcję Widok, Eksplorator projektu.

2. Kliknij Wstaw, Formularz użytkownika. Jeśli Zestaw narzędzi nie pojawi się automatycznie, kliknij opcję Widok, Przybornik. Twój ekran powinien być ustawiony jak poniżej.

Konfiguracja ekranu Userform w programie Excel VBA

3. Dodaj etykiety, listy (pierwsze po lewej, drugie po prawej), pola tekstowe (najpierw po lewej, drugie po prawej) i przycisk polecenia. Po zakończeniu, wynik powinien być zgodny z obrazem formularza użytkownika pokazanym wcześniej. Na przykład utwórz kontrolę pola listy, klikając ListBox z Przybornika. Następnie możesz przeciągnąć pole listy na Userform.

4. Możesz zmienić nazwy i podpisy kontrolek. Nazwy są używane w kodzie Excel VBA. Napisy są wyświetlane na ekranie. Dobrą praktyką jest zmiana nazw kontrolek, ale nie jest to konieczne, ponieważ w tym przykładzie mamy tylko kilka elementów sterujących. Aby zmienić podpis Userform, przycisk polecenia i etykiety, kliknij przycisk View, Properties Window i kliknij poszczególne kontrolki.

5. Aby wyświetlić Formularz użytkownika, umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Teraz utworzymy Sub UserForm_Initialize. Gdy użyjesz metody Show dla Userform, to subwoło zostanie automatycznie wykonane.

6. Otwórz Edytor Visual Basic.

7. W eksploratorze projektów kliknij prawym przyciskiem myszy UserForm1, a następnie kliknij opcję Wyświetl kod.

8. Wybierz opcję Userform z lewej listy rozwijanej. Wybierz Initialize z prawej listy rozwijanej.

9. Dodaj następujące linie kodu:

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

Objaśnienie: najpierw dwa pola listy są wypełnione. Następnie waluta USD jest ustawiona jako domyślna w pierwszym polu listy, a waluta EURO jest ustawiona domyślnie w drugim polu listy. Na koniec wartość 1 jest wprowadzana w pierwszym polu tekstowym, a wartość 0.722152 jest wprowadzana w drugim polu tekstowym.

Stworzyliśmy teraz pierwszą część Userform. Mimo, że wygląda już schludnie, nic się nie stanie, gdy klikniemy przycisk Go.

10. W Project Explorer dwukrotnie kliknij UserForm1.

11. Kliknij dwukrotnie przycisk Go.

12. Dodaj następujące linie kodu:

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

Objaśnienie: najpierw deklarujemy tablicę. Tablica ma dwa wymiary. Składa się z 3 rzędów i 3 kolumn. Następnie inicjalizujemy każdy element tablicy. Na przykład stawki (1,0) to kurs wymiany od dolara amerykańskiego do euro. Następnie uruchamiamy podwójną pętlę. W zależności od wybranych walut w polach listy, Excel VBA konwertuje kwotę wprowadzoną w pierwszym polu tekstowym i wyświetla wynik w drugim polu tekstowym.

Przykład: jeśli i = 2 i j = 1, a my wprowadzamy wartość 2 w pierwszym polu tekstowym, Excel VBA umieszcza wartość 2 * szybkości (2,1) = 2 * 1,583255 = 3,16651 w drugim polu tekstowym.

13. Przetestuj formularz użytkownika.

Wynik:

Wynik przelicznika walut

Przeczytaj również: