/ / / Μετατροπέας νομισμάτων στο Excel VBA

Μετατροπέας νομισμάτων στο Excel VBA

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA που δημιουργεί ένα Userform αυτό μετατρέπει οποιοδήποτε ποσό από ένα νόμισμα σε μια άλλη.

Το Userform που πρόκειται να δημιουργήσουμε φαίνεται ως εξής:

Μετατροπέας νομισμάτων στο Excel VBA

Για να δημιουργήσετε αυτό το Userform, εκτελέστε τα παρακάτω βήματα.

1. Ανοίξτε τον Επεξεργαστή Visual Basic. Εάν το Explorer του έργου δεν είναι ορατό, κάντε κλικ στην επιλογή Προβολή, Εξερεύνηση έργου.

2. Κάντε κλικ στην επιλογή Εισαγωγή, Χρήστης. Εάν η Εργαλειοθήκη δεν εμφανίζεται αυτόματα, κάντε κλικ στην επιλογή Προβολή, Εργαλειοθήκη. Η οθόνη σας πρέπει να ρυθμιστεί ως εξής.

Οθόνη ρύθμισης παραμέτρων χρήστη στο Excel VBA

3. Προσθέστε τις ετικέτες, τα πλαίσια λίστας (πρώτα στα αριστερά, το δεύτερο στα δεξιά), τα πλαίσια κειμένου (πρώτα στα αριστερά, το δεύτερο στα δεξιά) και το κουμπί εντολών. Μόλις ολοκληρωθεί αυτό το αποτέλεσμα, το αποτέλεσμα πρέπει να είναι συνεπές με την εικόνα του Userform που παρουσιάστηκε νωρίτερα. Για παράδειγμα, δημιουργήστε ένα πλαίσιο ελέγχου λίστας κάνοντας κλικ στο Λίστα λίστας από την Εργαλειοθήκη. Στη συνέχεια, μπορείτε να σύρετε ένα πλαίσιο λίστας στο Userform.

4. Μπορείτε να αλλάξετε τα ονόματα και τις λεζάντες των στοιχείων ελέγχου. Τα ονόματα χρησιμοποιούνται στον κώδικα Excel VBA. Οι λεζάντες είναι αυτές που εμφανίζονται στην οθόνη σας. Είναι καλή πρακτική η αλλαγή των ονομάτων των στοιχείων ελέγχου, αλλά δεν είναι απαραίτητο εδώ επειδή έχουμε μόνο λίγα στοιχεία ελέγχου σε αυτό το παράδειγμα. Για να αλλάξετε τη λεζάντα του Userform, του κουμπιού εντολών και των ετικετών, κάντε κλικ στην επιλογή Προβολή, Παράθυρο ιδιοτήτων και κάντε κλικ σε κάθε στοιχείο ελέγχου.

5. Για να εμφανίσετε το Userform, τοποθετήστε ένα κουμπί εντολής στο φύλλο εργασίας σας και προσθέστε την ακόλουθη γραμμή κώδικα:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Τώρα θα δημιουργήσουμε το Sub UserForm_Initialize. Όταν χρησιμοποιείτε τη μέθοδο εμφάνισης για τη φόρμα χρήστη, αυτό το υποσύνολο θα εκτελείται αυτόματα.

6. Ανοίξτε τον επεξεργαστή της Visual Basic.

7. Στην Εξερεύνηση έργου, κάντε δεξί κλικ στο UserForm1 και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή κωδικού.

8. Επιλέξτε Userform από την αριστερή αναπτυσσόμενη λίστα. Επιλέξτε Αρχικοποίηση από τη δεξιά αναπτυσσόμενη λίστα.

9. Προσθέστε τις ακόλουθες γραμμές κώδικα:

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

Επεξήγηση: πρώτα, συμπληρώνονται τα δύο πλαίσια λίστας. Στη συνέχεια, το νόμισμα του δολαρίου ΗΠΑ ορίζεται ως προεπιλογή στο πρώτο πλαίσιο λίστας και το νόμισμα EURO ορίζεται ως προεπιλογή στο δεύτερο πλαίσιο λίστας. Τέλος, η τιμή 1 εισάγεται στο πρώτο πλαίσιο κειμένου και η τιμή 0.722152 καταχωρείται στο δεύτερο πλαίσιο κειμένου.

Δημιουργήσαμε τώρα το πρώτο μέρος του Userform. Παρόλο που φαίνεται ήδη καθαρό, τίποτα δεν θα συμβεί ακόμα όταν κάνουμε κλικ στο κουμπί Μετάβαση.

10. Στο Explorer του Έργου, κάντε διπλό κλικ στο UserForm1.

11. Κάντε διπλό κλικ στο κουμπί Μετάβαση.

12. Προσθέστε τις ακόλουθες γραμμές κώδικα:

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

Επεξήγηση: Αρχικά, δηλώνουμε μια διάταξη. Ο πίνακας έχει δύο διαστάσεις. Αποτελείται από 3 σειρές και 3 στήλες. Στη συνέχεια αρχικοποιούμε κάθε στοιχείο του πίνακα. Για παράδειγμα, τα επιτόκια (1,0) είναι η ισοτιμία από το δολάριο ΗΠΑ στο ευρώ. Στη συνέχεια, ξεκινάμε ένα διπλό βρόχο. Ανάλογα με τα επιλεγμένα νομίσματα στα πλαίσια λίστας, το Excel VBA μετατρέπει την ποσότητα που εισάγεται στο πρώτο πλαίσιο κειμένου και εμφανίζει το αποτέλεσμα στο δεύτερο πλαίσιο κειμένου.

Παράδειγμα: εάν το i = 2 και το j = 1 και εισάγουμε την τιμή 2 στο πρώτο πλαίσιο κειμένου, το Excel VBA τοποθετεί στο δεύτερο πλαίσιο κειμένου τις τιμές 2 * (2,1) = 2 * 1,583255 = 3,16651.

13. Ελέγξτε τη μορφή χρήστη.

Αποτέλεσμα:

Αποτέλεσμα μετατροπής νομίσματος

Επίσης διαβάστε: