Περίπτωση εναλλαγής Excel VBA
Το Switch Case ή Select Case είναι μια δήλωση που είναι διαθέσιμη στο VBA για τη διεξαγωγή λογικών δοκιμών όπου λειτουργεί ως εναλλακτική λύση αντί της δήλωσης IF-THEN στο VBA. Χρησιμοποιώντας ένα Switch Case, μπορούμε να διεξάγουμε πολλαπλές λογικές δοκιμές και να φθάνουμε σε αποτελέσματα βάσει πολλαπλών αποτελεσμάτων.
Ακολουθεί η σύνταξη της δήλωσης Switch Case / Select Case.
Κώδικας:
Επιλέξτε τιμή περίπτωσης 1 εάν η δοκιμή περίπτωσης 1 είναι αληθινή τιμή περίπτωσης 2 εάν η δοκιμή περίπτωσης 2 είναι αληθινή τιμή περίπτωσης 3 εάν η δοκιμή περίπτωσης 3 είναι αληθινή τιμή υπόθεσης αλλιώς εάν καμία από τις παραπάνω περιπτώσεις δεν είναι αληθινή επιλογή
: Ποια είναι η λογική δοκιμή; Πρέπει να εισαγάγουμε το τεστ εδώ.
Περίπτωση 1, Περίπτωση 2: Σε κάθε περίπτωση, πρέπει να δοκιμάσουμε πολλές λογικές δοκιμές στο excel.
Πώς να χρησιμοποιήσετε το VBA Switch Case Statement;
Παράδειγμα # 1
Στο κελί A1 έχω εισαγάγει την τιμή ως 550.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_2.png.webp)
Θα δοκιμάσουμε αυτόν τον αριθμό χρησιμοποιώντας δηλώσεις περιπτώσεων διακόπτη και θα φτάσουμε στην κατάσταση ως "Πάνω από 500" εάν η τιμή είναι μεγαλύτερη από 500 ή αλλιώς θα φτάσουμε στην κατάσταση ως "Λιγότερο από 500".
Ανοίξτε πρώτα τη διαδικασία VBA Sub.
Κώδικας:
Sub Switch_Case () End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_3.png.webp)
Ανοίξτε την επιλογή Select Case Statement στο VBA και δώστε το λογικό εύρος δοκιμής ("A2")
Κώδικας:
Sub Switch_Case () Επιλέξτε Περιοχή Περίπτωσης ("A2"). Τιμή End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_4.png.webp)
Τώρα εισαγάγετε την πρώτη θήκη καθώς η περίπτωση είναι> 500.
Κώδικας:
Sub Switch_Case () Επιλέξτε Περιοχή θήκης ("A2"). Τιμή θήκης είναι> 500 End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_5.png.webp)
Εάν αυτή η περίπτωση είναι ΑΛΗΘΕΙΑ, τότε ποιο είναι το αποτέλεσμα που χρειαζόμαστε στο κελί B, 2, δηλαδή, "Περισσότερα από 500"
Κώδικας:
Sub Switch_Case () Επιλέξτε Περιοχή Περίπτωσης ("A2"). Τιμή Θήκης είναι> 500 Εύρος ("B2"). Τιμή = "Πάνω από 500" End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_6.png.webp)
Τώρα έχουμε μόνο ένα αποτέλεσμα, δηλ. Την υπόθεση Else. Εάν η πρώτη περίπτωση είναι ΛΑΘΟΣ, τότε χρειαζόμαστε το αποτέλεσμα ως "Λιγότερο από 500".
Κώδικας:
Sub Switch_Case () Select Range Case ("A2"). Value Case is> 500 Range ("B2"). Value = "More from 500" Case Else Range ("B2"). Value = "λιγότερο από 500" End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_7.png.webp)
Τώρα κλείστε τη δήλωση χρησιμοποιώντας τη δήλωση "End Select".
Κώδικας:
Sub Switch_Case () Select Range Case ("A2"). Value Case is> 500 Range ("B2"). Value = "More from 500" Case Else Range ("B2"). Value = "λιγότερο από 500" End Select Τέλος Υποτ
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_8.png.webp)
Εκτελέστε τον κωδικό θα λάβουμε την τιμή στο κελί B2.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement.gif)
Δεδομένου ότι η τιμή στο κελί A2 είναι μεγαλύτερη από 500, έχουμε το αποτέλεσμα ως "Περισσότερα από 500".
Παράδειγμα # 2
Τώρα θα δούμε τη χρήση περισσότερων παραδειγμάτων περιπτώσεων. Παρακάτω είναι η βαθμολογία του μαθητή στην εξέταση.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_9.png.webp)
Με αυτό το σκορ, πρέπει να φτάσουμε στο Βαθμό, γιατί παρακάτω είναι τα κριτήρια.
- Βαθμολογία> = 85, Βαθμός = "Dist"
- Βαθμολογία> = 60, Βαθμός = "Πρώτο"
- Βαθμολογία> = 50, Βαθμός = "Δεύτερο"
- Βαθμολογία> = 35, Βαθμός = "Πέρασμα"
- Εάν κάτι άλλο Βαθμός = "Αποτυχία".
Κώδικας:
Υποδιακόπτης_ Περίπτωση 1 ()
Dim Score As Integer Score = 65 Select Score Case Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Αποτυχία "End Select End Sub
Εκτελέστε αυτόν τον κωδικό. Θα λάβουμε τον βαθμό στο πλαίσιο μηνύματος.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_2.gif)
Since the score is more than 60 but less than 85 grade is “First.”
Example #3
We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_10.png.webp)
Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.
Code:
Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub
Run this code. We will get grades.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_3.gif)
Things to Remember
- Switch Case is often referred to as “Select Case.”
- The switch is a function, not a statement.
- Εάν δεν υπάρχουν λογικές δοκιμές ΑΛΗΘΕΣ, τότε μπορείτε απλώς να περάσετε το εναλλακτικό αποτέλεσμα στη δήλωση CASE ELSE και να κλείσετε πάντα τη δήλωση με τη λέξη "ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ".