Δήλωση περίπτωσης VBA - Παραδείγματα VBA Select Case Statement

Πίνακας περιεχομένων

Δήλωση περίπτωσης Excel VBA

Η δήλωση περίπτωσης VBA είναι μία από τις λογικές λειτουργίες. Η δήλωση περίπτωσης δοκιμάζει πολλαπλές λογικές δοκιμές και καταλήγει στο αποτέλεσμα με δύο τρόπους, δηλαδή εάν το αποτέλεσμα ή η λογική δοκιμή είναι ΑΛΗΘΕΙΑ ένα σύνολο αποτελεσμάτων και εάν το αποτέλεσμα ή η λογική δοκιμή είναι ΛΑΘΟΣ, τότε το δεύτερο σύνολο αποτελεσμάτων.

Οι λογικές δοκιμές διεξάγονται συνήθως χρησιμοποιώντας τύπους IF, είτε πρόκειται για τύπο φύλλου εργασίας είτε σε κωδικοποίηση VBA. Και στις δύο πλατφόρμες, αυτή η λειτουργία μας βοηθά να κάνουμε πολλά είδη περίπλοκων υπολογισμών. Δεν πολλοί από εμάς συνειδητοποιούν ότι έχουμε μια εναλλακτική λύση στη δήλωση IF στο VBA, δηλαδή, "Case Statement". Αυτό το άρθρο σας παρέχει πλήρεις λεπτομέρειες σχετικά με αυτήν τη λογική δήλωση.

Σύνταξη

Ακολουθεί η σύνταξη της δήλωσης "Select Case".

Επιλέξτε Περίπτωση "Αξία προς δοκιμή" Η υπόθεση είναι "Λογική δοκιμή" Αποτέλεσμα εάν η Περίπτωση 1 είναι ΑΛΗΘΗ Περίπτωση είναι "Λογική δοκιμή" Αποτέλεσμα εάν η Περίπτωση 2 είναι ΑΛΗΘΗ Περίπτωση είναι "Λογική δοκιμή" Αποτέλεσμα εάν η Περίπτωση 3 είναι ΑΛΗΘΗ Περίπτωση Εάν δεν τα αποτελέσματα είναι ΑΛΗΘΕΙΑ ΤΕΛΙΚΗ ΕΠΙΛΟΓΗ

Αυτό είναι σχεδόν παρόμοιο με τη σύνταξη δήλωσης IF, αλλά αντί να χρησιμοποιήσουμε το ELSEIF, χρησιμοποιούμε την περίπτωση 1, την περίπτωση 2, την περίπτωση 3 και ούτω καθεξής.

Παραδείγματα δήλωσης περίπτωσης VBA

Παράδειγμα # 1

Στο κελί A1 έχω εισαγάγει τον αριθμό ως 240.

Τώρα θα δοκιμάσουμε αυτόν τον αριθμό εάν αυτός είναι μεγαλύτερος από 200 ή όχι χρησιμοποιώντας τη δήλωση SELECT CASE .

Βήμα 1: Ανοίξτε την επιλογή Επιλέξτε υπόθεση τώρα.

Κώδικας:

Sub Select_Case_Example1 () Επιλέξτε Sub End Case

Βήμα 2: Μόλις ανοίξει το "Select Case", πρέπει να δώσουμε ποια είναι η αξία που δοκιμάζουμε. Σε αυτήν την περίπτωση, δοκιμάζουμε τις τιμές κελιού Α1.

Κώδικας:

Sub Select_Case_Example1 () Επιλέξτε Περιοχή Περίπτωσης ("A1"). Τιμή End Sub

Βήμα 3: Μόλις δοθεί η τιμή που θα δοκιμαστεί τώρα, πρέπει να εφαρμόσουμε λογικές δοκιμές στο excel χρησιμοποιώντας τη λέξη " Case Is ".

Κώδικας:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case is> 200 End Sub

Βήμα 4: Τώρα, στην επόμενη γραμμή, πρέπει να παρέχουμε την τιμή "αποτελέσματος" εάν η εφαρμοσμένη λογική δοκιμή είναι ΑΛΗΘΕΙΑ. Στο πλαίσιο μηνύματος, χρειαζόμαστε το αποτέλεσμα ως "Ο αριθμός είναι> 200".

Κώδικας:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case> 200 MsgBox "Ο αριθμός είναι> 200" End Sub

Βήμα 5: Σε αυτό το παράδειγμα, χρειαζόμαστε μόνο δύο αποτελέσματα, επομένως δεν θα χρησιμοποιήσω περισσότερες δηλώσεις "Case Is". Στη συνέχεια, θα χρησιμοποιήσω τη λέξη "Case Else" για να κλείσω τη δήλωση VBA "Select Case".

Κώδικας:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Sub

Βήμα 6: Μόλις παρασχεθούν όλες οι περιπτώσεις, πρέπει να κλείσουμε τη δήλωση επιλογής περίπτωσης χρησιμοποιώντας τη λέξη "End Select".

Κώδικας:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Select End Sub

Βήμα 7: Τώρα εκτελέστε τον κώδικα και δείτε ποιο είναι το αποτέλεσμα που έχουμε στο πλαίσιο μηνυμάτων VBA.

Το αποτέλεσμα που λάβαμε είναι "Ο αριθμός είναι> 200" επειδή στο κελί A1 η τιμή είναι 240, που είναι> 200.

Παράδειγμα # 2

Τώρα θα δούμε μερικά πρακτικά παραδείγματα αποτελεσμάτων σε πραγματικό χρόνο. Κοιτάξτε τον παρακάτω κώδικα VBA.

Κώδικας:

Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Η βαθμολογία πρέπει να είναι b / w 0 έως 100", "Ποιο είναι το σκορ που θέλετε να δοκιμάσετε") Επιλέξτε Περίπτωση ScoreCard Case Is> = 85 MsgBox "Distinction" Case Is> = 60 MsgBox "First Class" Case Is> = 50 MsgBox "Second Class" Case Is> = 35 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

Επιτρέψτε μου να εξηγήσω τον κωδικό γραμμή προς γραμμή για να κατανοήσω καλύτερα.

Πρώτον, έχω δηλώσει τη μεταβλητή ως Integer, και για αυτήν τη μεταβλητή, έχω εκχωρήσει το InputBox στο VBA, όπου ένας χρήστης πρέπει να εισάγει το σκορ μεταξύ 0 και 100.

Όταν εκτελείτε τον κωδικό, θα δείτε το πλαίσιο εισαγωγής όπως το παρακάτω, και σε αυτό το πλαίσιο εισαγωγής, πρέπει να εισαγάγετε το σκορ.

Τώρα ό, τι εισάγουμε στο πλαίσιο εισαγωγής θα αποθηκευτεί στη μεταβλητή "ScoreCard".

Στην επόμενη γραμμή, έχω εφαρμόσει μια δήλωση επιλογής περίπτωσης για να δοκιμάσω αυτό το σκορ.

Αρχικά, θα δοκιμάσει την Κάρτα Σκορ> = 85 ή όχι Εάν αυτό είναι αληθινό, τότε θα λάβουμε την τιμή στο πλαίσιο μηνύματος ως "Διάκριση".

Επιλέξτε Case ScoreCard Case Is> = 85 MsgBox "Distinction"

Ομοίως, στις ακόλουθες γραμμές, έχω εφαρμόσει τη δεύτερη δοκιμή ως ScoreCard> = 60. Εάν αυτό είναι αληθινό, τότε θα εμφανίσει το αποτέλεσμα ως "Πρώτο".

Περίπτωση Is> = 60 MsgBox "First Class"

Έτσι, έχω εφαρμόσει και άλλες δοκιμές, και στο τέλος, έχω χρησιμοποιήσει τη δήλωση "Case Else". Εάν όλες οι εφαρμοσμένες λογικές δοκιμές είναι ΛΑΘΟΣ, τότε θα έχουμε το αποτέλεσμα ως "Αποτυχία".

Υπόθεση άλλο MsgBox "Αποτυχία"

Τώρα έχω δώσει 68 ως το σκορ, και θα πρέπει να έχουμε το αποτέλεσμα ως «First Class» στο πλαίσιο μηνυμάτων.

Παράδειγμα # 3 - Χρήση της λέξης-κλειδιού «Προς»

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τις βαθμολογίες των μαθητών για να φτάσουμε στο αποτέλεσμα. Το ίδιο τεστ μπορεί να διεξαχθεί χρησιμοποιώντας τη λέξη «Προς» για να προσδιοριστεί το κατώτερο όριο και το ανώτερο όριο του λογικού τεστ.

Κώδικας:

Sub Select_Case_Example3 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Η βαθμολογία πρέπει να είναι b / w 0 έως 100", "Ποιο είναι το σκορ που θέλετε να δοκιμάσετε") Επιλέξτε Περίπτωση Case ScoreCard Case 85 to 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 to 59 MsgBox "Second Class" Case 35 to 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

Έχω χρησιμοποιήσει τον ίδιο κωδικό όπως παραπάνω, αλλά η μόνη κίτρινη περιοχή που έχω αλλάξει εδώ. Με βάση τον αριθμό που πληκτρολογούμε στο πλαίσιο εισαγωγής αναλόγως, θα λάβουμε το αποτέλεσμα.

Πράγματα που πρέπει να θυμάστε

  • Το Select Case είναι μια εναλλακτική λύση στη δήλωση IF.
  • Το Select Case είναι διαθέσιμο μόνο με το VBA.
  • Στην πρώτη γραμμή του "Select Case", χρειάζεται μόνο να παρέχουμε την τιμή που πρέπει να δοκιμαστεί. Στη συνέχεια, στη γραμμή "Περίπτωση", πρέπει να εφαρμόσουμε τη λογική δοκιμή. Αυτό δεν είναι σε αντίθεση με τον όρο IF.

ενδιαφέροντα άρθρα...