Πίνακας περιεχομένων:
- Το παράδειγμα Example Case
- Όπως φαίνεται στο παρακάτω παράδειγμα, μπορείτε να επιλέξετε το στοιχείο Επιλογή δομών κειμένου. Αυτή η ρουτίνα εξετάζει το ενεργό κελί και εμφανίζει ένα μήνυμα που περιγράφει τα περιεχόμενα του κελιού. Παρατηρήστε ότι η διαδικασία έχει τρεις δομές Select Case και η κάθε μία έχει τη δική της πρόταση End End:
Βίντεο: Δομή και λειτουργία Ηλεκτρονόμου (ρελέ) 2025
Η δομή Select Case είναι μια χρήσιμη δομή VBA για αποφάσεις που αφορούν τρία ή περισσότερα επιλογές στο Excel 2016 (αν και λειτουργεί επίσης με δύο επιλογές, παρέχοντας μια εναλλακτική λύση στη δομή If-Then-Else).
Το παράδειγμα Example Case
Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε τη δομή Select Case:
Sub ShowDiscount3 () Dim Ποσότητα Μεγάλη Dim Έκπτωση Διπλή Ποσότητα = InputBox ("Enter Quantity" Περίπτωση 0 έως 24 Έκπτωση = 0. 1 Περίπτωση 25 έως 49 Έκπτωση = 0. 15 Περίπτωση 50 έως 74 Έκπτωση = 0. 2 Περίπτωση είναι> = 75 Έκπτωση = 0. 25 Τέλος Επιλογή MsgBox "Έκπτωση:" & Έκπτωση End Sub > Σε αυτό το παράδειγμα, αξιολογείται η μεταβλητή Ποσότητα. Η ρουτίνα ελέγχει για τέσσερις διαφορετικές περιπτώσεις (0-24, 25-49, 50-74, και 75 ή μεγαλύτερες).
Sub ShowDiscount4 () Dim Ποσότητα Μεγάλη Dim Έκπτωση ως Διπλή Ποσότητα = InputBox ("Εισαγωγή Ποσότητας:") Επιλογή Περίπτωση Ποιότητας υπόθεση 0 έως 24: Έκπτωση = 49: Έκπτωση = 0. 15 Περίπτωση 50 έως 74: Έκπτωση = 0. 2 Περίπτωση είναι> = 75: Έκπτωση = 0. 25 Τέλος Επιλογή MsgBox "Έκπτωση" & Έκπτωση Sub
η δομή εξέρχεται μόλις η VBA εντοπίσει μια πραγματική περίπτωση και εκτελεί τις δηλώσεις για αυτήν την περίπτωση.
Όπως φαίνεται στο παρακάτω παράδειγμα, μπορείτε να επιλέξετε το στοιχείο Επιλογή δομών κειμένου. Αυτή η ρουτίνα εξετάζει το ενεργό κελί και εμφανίζει ένα μήνυμα που περιγράφει τα περιεχόμενα του κελιού. Παρατηρήστε ότι η διαδικασία έχει τρεις δομές Select Case και η κάθε μία έχει τη δική της πρόταση End End:
Sub CheckCell () Dim Msg As Select String Η υπόθεση IsEmpty (ActiveCell) True Msg = "είναι κενή. Msgstr "Περίπτωση αλλιώς Επιλογή θήκης ActiveCell. HasFormula Case True Msg = "έχει έναν τύπο" Περίπτωση Case Else Επιλέξτε υπόθεση Case IsNumeric (ActiveCell) True Msg = "έχει αριθμό" Περίπτωση Else Msg = "έχει κείμενο" Τέλος Επιλογή Τέλος Επιλογή Τέλος Επιλογή MsgBox "Cell" & ActiveCell. Διεύθυνση & "& Msg End Sub
Η λογική έχει ως εξής:
-
Εάν δεν είναι άδειο, δείτε εάν περιέχει μια φόρμουλα.
-
Αν δεν υπάρχει τύπος, μάθετε αν περιέχει αριθμητική τιμή ή κείμενο.
-
Όταν ολοκληρωθεί η ρουτίνα, η μεταβλητή Msg περιέχει μια συμβολοσειρά που περιγράφει τα περιεχόμενα του κελιού. Η λειτουργία MsgBox εμφανίζει αυτό το μήνυμα.
Ένα μήνυμα που εμφανίζεται από τη διαδικασία CheckCell.
Μπορείτε να φωλιάζετε τις δομές περιπτώσεων τόσο βαθιά όσο χρειάζεται, αλλά βεβαιωθείτε ότι κάθε δήλωση Select Case έχει μια αντίστοιχη εντολή End Select.Εάν δεν είστε ακόμα πεπεισμένοι ότι αξίζει τον κόπο η προσπάθεια, η προηγούμενη λίστα χρησιμεύει ως καλό παράδειγμα. Οι εγκοπές πραγματικά να κάνουν τα επίπεδα φωλιάσματος σαφή. Ρίξτε μια ματιά στην ίδια διαδικασία χωρίς οποιαδήποτε οδόντωση:
Sub CheckCell () Dim Msg As Select String Η υπόθεση IsEmpty (ActiveCell) True Msg = "είναι κενή. Msgstr "Περίπτωση αλλιώς Επιλογή θήκης ActiveCell. HasFormula Case True Msg = "έχει έναν τύπο" Περίπτωση Case Else Επιλέξτε υπόθεση Case IsNumeric (ActiveCell) True Msg = "έχει αριθμό" Περίπτωση Else Msg = "έχει κείμενο" Τέλος Επιλογή Τέλος Επιλογή Τέλος Επιλογή MsgBox "Cell" & ActiveCell. Διεύθυνση & "& Msg End Sub
Αρκετά ακατανόητο, ε;