Τρόπος χρήσης της δομής Select Case στο Excel 2016 VBA

Η δομή Select Case είναι μια χρήσιμη δομή VBA για αποφάσεις που αφορούν τρεις ή περισσότερες επιλογές στο Excel 2016 (αν και λειτουργεί επίσης με δύο επιλογές, παρέχοντας μια εναλλακτική στη δομή If-Then-Else).

Ένα παράδειγμα επιλογής περίπτωσης

Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε τη δομή Select Case:

Sub ShowDiscount3()
  Ασθενής ποσότητα όσο διαρκεί
  Ασθενής έκπτωση ως διπλή
  Quantity = InputBox ("Εισαγάγετε την ποσότητα: ")
  Επιλέξτε Case Quantity
    Περίπτωση 0 έως 24
      Έκπτωση = 0,1
    Περίπτωση 25 έως 49
      Έκπτωση = 0,15
    Περίπτωση 50 έως 74
      Έκπτωση = 0,2
    Περίπτωση είναι >= 75
      Έκπτωση = 0,25
  Τέλος Επιλογή
  MsgBox "Discount: " & Discount
End Sub

Σε αυτό το παράδειγμα, η μεταβλητή Quantity αξιολογείται. Ο τακτικός έλεγχος για τέσσερις διαφορετικές περιπτώσεις (0–24, 25–49, 50–74 και 75 ή μεγαλύτερες).

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

Sub ShowDiscount4 ()
  Ασθενής ποσότητα όσο διαρκεί
  Ασθενής έκπτωση ως διπλή
  Quantity = InputBox ("Εισαγάγετε την ποσότητα: ")
  Επιλέξτε Case Quantity
    Περίπτωση 0 έως 24: Έκπτωση = 0,1
    Περίπτωση 25 έως 49: Έκπτωση = 0,15
    Περίπτωση 50 έως 74: Έκπτωση = 0,2
    Περίπτωση είναι >= 75: Έκπτωση = 0,25
  Τέλος Επιλογή
  MsgBox "Discount: " & Discount
End Sub

Όταν η VBA εκτελεί μια δομή Select Case, η δομή τερματίζεται μόλις η VBA βρει μια αληθινή περίπτωση και εκτελέσει τις εντολές για αυτήν την περίπτωση.

Ένα ένθετο παράδειγμα Select Case

Όπως αποδεικνύεται στο ακόλουθο παράδειγμα, μπορείτε να ενσωματώσετε δομές Select Case. Αυτή η ρουτίνα εξετάζει το ενεργό κελί και εμφανίζει ένα μήνυμα που περιγράφει τα περιεχόμενα του κελιού. Σημειώστε ότι η διαδικασία έχει τρεις δομές Select Case και η καθεμία έχει τη δική της πρόταση End Select:

Sub CheckCell()
  Dim Msg As String
  Επιλέξτε Case IsEmpty (ActiveCell)
    Υπόθεση Αλήθεια
     Msg = "είναι κενό."
    Άλλη περίπτωση
     Επιλέξτε Case ActiveCell.HasFormula
       Υπόθεση Αλήθεια
        Msg = "έχει τύπο"
       Άλλη περίπτωση
        Επιλέξτε υπόθεση IsNumeric (ActiveCell)
          Υπόθεση Αλήθεια
           Msg = "έχει αριθμό"
          Άλλη περίπτωση
           Msg = "έχει κείμενο"
        Τέλος Επιλογή
    Τέλος Επιλογή
  Τέλος Επιλογή
  MsgBox "Cell" & ActiveCell.Address & " " & Msg
End Sub

Η λογική πάει κάπως έτσι:

Μάθετε εάν το κελί είναι κενό.

Εάν δεν είναι κενό, δείτε αν περιέχει τύπο.

Εάν δεν υπάρχει τύπος, μάθετε αν περιέχει αριθμητική τιμή ή κείμενο.

Όταν τελειώνει η ρουτίνα, η μεταβλητή Msg περιέχει μια συμβολοσειρά που περιγράφει τα περιεχόμενα του κελιού. Η συνάρτηση MsgBox εμφανίζει αυτό το μήνυμα.

Τρόπος χρήσης της δομής Select Case στο Excel 2016 VBA

Ένα μήνυμα που εμφανίζεται με τη διαδικασία CheckCell.

Μπορείτε να ενσωματώσετε δομές Select Case τόσο βαθιά όσο χρειάζεται, αλλά βεβαιωθείτε ότι κάθε πρόταση Select Case έχει μια αντίστοιχη πρόταση End Select.

Εάν εξακολουθείτε να μην είστε πεπεισμένοι ότι αξίζει τον κόπο η εσοχή κώδικα, η προηγούμενη καταχώριση χρησιμεύει ως καλό παράδειγμα. Οι εσοχές πραγματικά για να κάνουν ξεκάθαρα τα επίπεδα φωλιάς. Ρίξτε μια ματιά στην ίδια διαδικασία χωρίς καμία εσοχή:

Sub CheckCell()
Dim Msg As String
Επιλέξτε Case IsEmpty (ActiveCell)
Υπόθεση Αλήθεια
Msg = "είναι κενό."
Άλλη περίπτωση
Επιλέξτε Case ActiveCell.HasFormula
Υπόθεση Αλήθεια
Msg = "έχει τύπο"
Άλλη περίπτωση
Επιλέξτε υπόθεση IsNumeric (ActiveCell)
Υπόθεση Αλήθεια
Msg = "έχει αριθμό"
Άλλη περίπτωση
Msg = "έχει κείμενο"
Τέλος Επιλογή
Τέλος Επιλογή
Τέλος Επιλογή
MsgBox "Cell" & ActiveCell.Address & " " & Msg
End Sub

Αρκετά ακατανόητο, ε;

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Στο Excel, είναι κρίσιμο να κατανοήσουμε τη διαφορά μεταξύ αναφορών και πινάκων εργαλείων για την αποτελεσματική ανάλυση και οπτικοποίηση δεδομένων.

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Ανακαλύψτε πώς να ανανεώσετε γρήγορα τα δεδομένα του συγκεντρωτικού πίνακα στο Excel με τέσσερις αποτελεσματικές μεθόδους.

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

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

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ανακαλύψτε τις Ιδιότητες πεδίου MS Access για να μειώσετε τα λάθη κατά την εισαγωγή δεδομένων και να διασφαλίσετε την ακριβή καταχώρηση πληροφοριών.

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.