Σπίτι Κοινωνική Media Πώς να χρησιμοποιήσετε If-Then στο Excel 2016 VBA - dummies

Πώς να χρησιμοποιήσετε If-Then στο Excel 2016 VBA - dummies

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

Βίντεο: macros και VB Script στο Excel. 2024

Βίντεο: macros και VB Script στο Excel. 2024
Anonim

If-Then είναι η πιο σημαντική δομή ελέγχου της VBA. Θα χρησιμοποιήσετε πιθανώς αυτή την εντολή σε καθημερινή βάση. Χρησιμοποιήστε τη δομή If-Then όταν θέλετε να εκτελείτε μία ή περισσότερες δηλώσεις υπό όρους. Η προαιρετική ρήτρα Else, αν περιλαμβάνεται, σας επιτρέπει να εκτελέσετε μία ή περισσότερες δηλώσεις εάν η προϋπόθεση που δοκιμάζετε είναι true όχι . Εδώ είναι μια απλή διαδικασία CheckUser, recoded για να χρησιμοποιήσετε τη δομή If-Then-Else:

Sub CheckUser2 () UserName = InputBox ("Εισάγετε το όνομά σας") Εάν UserName = "Satya Nadella" Στη συνέχεια MsgBox ("Καλώς ορίσατε Satya …" "Συγνώμη. Μόνο η Satya Nadella μπορεί να τρέξει αυτό. "End If End End

If-Then παραδείγματα

Η ακόλουθη ρουτίνα δείχνει τη δομή If-Then χωρίς την προαιρετική ρήτρα Else:

Sub GreetMe () Εάν Time <0. 5 τότε MsgBox" Good Morning "End Sub

Η διαδικασία GreetMe χρησιμοποιεί τη λειτουργία χρόνου της VBA για να πάρει το χρόνο του συστήματος. Εάν ο τρέχων χρόνος είναι μικρότερος από. 5, η ρουτίνα εμφανίζει ένα φιλικό χαιρετισμό. Αν ο Χρόνος είναι μεγαλύτερος ή ίσος με. 5, η ρουτίνα τελειώνει και τίποτα δεν συμβαίνει.

Για να εμφανίσετε διαφορετικό χαιρετισμό εάν το Χρόνος είναι μεγαλύτερο ή ίσο με. 5, μπορείτε να προσθέσετε μια άλλη παράμετρο If-Then μετά την πρώτη:

Sub GreetMe2 () Εάν η ώρα = 0. 5 Στη συνέχεια MsgBox "Good Afternoon" End Sub

Σημειώστε ότι> = (μεγαλύτερο ή ίσο) χρησιμοποιείται για τη δεύτερη πρόταση If-Then. Αυτό εξασφαλίζει την κάλυψη ολόκληρης της ημέρας. Αν χρησιμοποιήθηκε> (μεγαλύτερο από), δεν θα εμφανιστεί μήνυμα αν αυτή η διαδικασία εκτελέστηκε ακριβώς στις 12:00 το μεσημέρι. Αυτό είναι πολύ απίθανο, αλλά με ένα σημαντικό πρόγραμμα όπως αυτό, δεν θέλετε να πάρετε οποιεσδήποτε πιθανότητες.

Ένα παράδειγμα If-Then-Else

Μια άλλη προσέγγιση στο προηγούμενο πρόβλημα χρησιμοποιεί την ρήτρα Else. Εδώ είναι η ίδια ρουτίνα που ανακατασκευάστηκε για να χρησιμοποιήσει τη δομή If-Then-Else:

Sub GreetMe3 () Αν Χρόνος <0. 5 τότε MsgBox "Good Morning" Else _ MsgBox "Good Afternoon" End Sub

ο χαρακτήρας συνέχισης (υπογράμμιση) χρησιμοποιείται στο προηγούμενο παράδειγμα. Η εντολή If-Then-Else είναι στην πραγματικότητα μία μόνο δήλωση. Το VBA παρέχει έναν ελαφρώς διαφορετικό τρόπο κωδικοποίησης If-Then-Else κατασκευών που χρησιμοποιούν μια εντολή End If. Επομένως, η διαδικασία GreetMe μπορεί να ξαναγραφεί ως

>
Sub GreetMe4 () Εάν ο χρόνος <0. 5 τότε το MsgBox "Good Morning" Else MsgBox "Καλημέρα" Τέλος Αν τελειώσει

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

Τι πρέπει να κάνετε εάν πρέπει να επεκτείνετε τη ρουτίνα του GreetMe για να χειριστείτε τρεις προϋποθέσεις: το πρωί, το απόγευμα και το βράδυ; Έχετε δύο επιλογές: Χρησιμοποιήστε τρεις δηλώσεις If-Then ή χρησιμοποιήστε μια ένθετη If-Then-Else δομή. Η τοποθέτηση σημαίνει την τοποθέτηση μιας δομής If-Then-Else σε μια άλλη δομή If-Then-Else. Η πρώτη προσέγγιση, χρησιμοποιώντας τρεις δηλώσεις If-Then, είναι απλούστερη:

Sub GreetMe5 () Dim Msg ως String If Time = 0. 5 και Time = 0. 75 Στη συνέχεια Msg = "Evening" MsgBox "Good" & Msg End Sub

Προστέθηκε μια νέα συστροφή με τη χρήση μιας μεταβλητής. Η μεταβλητή Msg έχει διαφορετική τιμή κειμένου, ανάλογα με την ώρα της ημέρας. Η δήλωση MsgBox εμφανίζει το χαιρετισμό: Καλημέρα, καλό απόγευμα ή καλό βράδυ.

Η ακόλουθη ρουτίνα εκτελεί την ίδια ενέργεια, αλλά χρησιμοποιεί μια δομή If-Then-End Αν δομή:

Sub GreetMe6 () Dim Msg Ως String Εάν Time = 0. 5 και Time = 0. 75 Then Msg = Τέλος Αν το MsgBox "Good" & Msg End Sub

Χρησιμοποιώντας ElseIf

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

Με μια μικροσκοπική ρουτίνα όπως αυτή, δεν χρειάζεται να ανησυχείτε για την ταχύτητα εκτέλεσης. Αλλά για μεγαλύτερες εφαρμογές όπου η ταχύτητα είναι κρίσιμη, θα πρέπει να γνωρίζετε για μια άλλη σύνταξη για τη δομή If-Then.

Εδώ μπορείτε να ξαναγράψετε τη ρουτίνα GreetMe χρησιμοποιώντας αυτή τη σύνταξη:

Sub GreetMe7 () Dim Msg As String Αν Χρόνος = 0. 5 Και Χρόνος <0. 75 τότε Msg = "Απόγευμα" Else Msg = "Evening "End If MsgBox" Good "& Msg End Sub

Όταν μια προϋπόθεση είναι αληθής, η VBA εκτελεί τις δηλώσεις υπό όρους και τελειώνει η δομή If. Με άλλα λόγια, αυτή η διαδικασία είναι λίγο πιο αποτελεσματική από τα προηγούμενα παραδείγματα. Το συμβιβασμό είναι ότι ο κώδικας είναι πιο δύσκολο να κατανοηθεί.

Ένα άλλο παράδειγμα If-Then

Ακολουθεί ένα άλλο παράδειγμα που χρησιμοποιεί την απλή φόρμα της δομής If-Then. Αυτή η διαδικασία προτρέπει τον χρήστη για μια ποσότητα και στη συνέχεια εμφανίζει την κατάλληλη έκπτωση, με βάση την ποσότητα που εισάγει ο χρήστης:

Sub ShowDiscount () Dim Ποσότητα Μεγάλη Dim Έκπτωση Διπλή Ποσότητα = InputBox ("Enter Quantity" > 0 Στη συνέχεια Έκπτωση = 0. 1 Εάν Ποσότητα> = 25 Στη συνέχεια Έκπτωση = 0. 25 Εάν Ποσότητα> = 50 Στη συνέχεια Έκπτωση = 0. 2 Εάν Ποσότητα> = 75 Τότε Έκπτωση = 0. 25 MsgBox "Έκπτωση:

Παρατηρήστε ότι κάθε εντολή If-Then σε αυτή τη ρουτίνα εκτελείται και η τιμή για το Discount μπορεί να αλλάξει καθώς εκτελούνται οι δηλώσεις. Ωστόσο, η ρουτίνα εμφανίζει τελικά τη σωστή τιμή για την έκπτωση επειδή οι δηλώσεις If-Then είναι κατά σειρά ανόδου των τιμών έκπτωσης.

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

Sub ShowDiscount2 () Dim Ποσότητα Μεγάλη Dim Έκπτωση ως Διπλή Ποσότητα = InputBox ("Εισαγωγή Ποσότητα:") τότε Έκπτωση = 0.1 Ποσότητα ElseIf> = 25 Και Ποσότητα <50 τότε Έκπτωση = 0. 15 Ποσότητα ElseIf> = 50 Και Ποσότητα <75 τότε Έκπτωση = 0. 2 ElseIf Ποσότητα> = 75 Τότε Έκπτωση = 0. 25 Τέλος Αν MsgBox "Έκπτωση: Έκπτωση End Sub

Αυτές οι πολλαπλές δομές If-Then είναι μάλλον δυσκίνητες. Μπορεί να θέλετε να χρησιμοποιήσετε τη δομή If-Then μόνο για απλές δυαδικές αποφάσεις.

Πώς να χρησιμοποιήσετε If-Then στο Excel 2016 VBA - dummies

Η επιλογή των συντακτών

Πώς να γράψετε αποτελεσματικές καμπάνιες ηλεκτρονικού ταχυδρομείου - Dummies

Πώς να γράψετε αποτελεσματικές καμπάνιες ηλεκτρονικού ταχυδρομείου - Dummies

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

Πώς μπορεί να εμπλακεί η επιχείρησή σας με τα Social Media - ανδρείκελα

Πώς μπορεί να εμπλακεί η επιχείρησή σας με τα Social Media - ανδρείκελα

. Στην αφοσίωση των κοινωνικών μέσων (ΜΜΕ), η εταιρεία ή ο οργανισμός σας μπορεί να είναι ένας από τους συμμετέχοντες. "Αλλά μια εταιρεία δεν είναι ένα άτομο", μπορείτε να πείτε. Αληθής. Ως εκ τούτου, η πρόκλησή σας είναι να κάνετε την εταιρεία σας - μια εταιρική οντότητα ή το εμπορικό σήμα που την αντιπροσωπεύει - πιο ανθρώπινη ...

Πώς να χρησιμοποιήσετε τις ρυθμίσεις WordPress για το Blog σας - ανδρείκελα

Πώς να χρησιμοποιήσετε τις ρυθμίσεις WordPress για το Blog σας - ανδρείκελα

Μπορείτε να συνδεθείτε στο λογαριασμό διαχειριστή του WordPress και να ρίξετε μια ματιά. Το λογισμικό WordPress κάνει πολύ σωστά από το κουτί για να κάνει τη ζωή σας στον blogging όσο το δυνατόν πιο απλή. Πώς να συνδεθείτε στο ιστολόγιό σας Για να μπορέσετε να ξεκινήσετε την ανάρτηση, μπορείτε ...

Η επιλογή των συντακτών

Προειδοποιήσεις για χρήστες Big Data Cloud - ανδρείκελα

Προειδοποιήσεις για χρήστες Big Data Cloud - ανδρείκελα

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

Προβολή Εξωτερικών Δεδομένων από Προοπτική Χρήστη - Dummies

Προβολή Εξωτερικών Δεδομένων από Προοπτική Χρήστη - Dummies

Εδώ περιγράφεται ο τρόπος με τον οποίο ένας χρήστης αποθήκης δεδομένων βλέπει εξωτερικά δεδομένα και τη σημασία της. Εξετάστε αυτούς τους δύο πίνακες. Αυτός ο πίνακας παρουσιάζει την απόδοση των πωλήσεων για την εταιρεία Good Guys, Inc. και στον παρακάτω πίνακα παρουσιάζονται οι επιδόσεις πωλήσεων των ανταγωνιστικών εταιρειών Bad Guys, Inc. Αποτελέσματα Αποτελεσμάτων Πωλήσεων 2007 Q1 Αποτελέσματα 2008 Q1 ...

Ποια λειτουργία παρέχει ένα εργαλείο ερωτήσεων και αναφοράς; - ανδρείκελα

Ποια λειτουργία παρέχει ένα εργαλείο ερωτήσεων και αναφοράς; - ανδρείκελα

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

Η επιλογή των συντακτών

Πώς να χρησιμοποιήσετε τα επιχειρήματα για να βελτιώσετε τη σχέση σας - Dummies

Πώς να χρησιμοποιήσετε τα επιχειρήματα για να βελτιώσετε τη σχέση σας - Dummies

Στο χέρι με αγάπη και αγάπη. Αλλά με την τεχνική Make-A-Deal του Dr. Kate, μπορείτε να διευθετήσετε τις διαφωνίες και να πλησιάσετε στη διαδικασία. Ακολουθήστε τα εξής βήματα: Κάντε μια ημερομηνία για να μιλήσετε για το πρόβλημα, επιλέγοντας τον βέλτιστο χρόνο και τόπο. Κάντε ερωτήσεις σχετικά με τις σκέψεις και τα συναισθήματα του συντρόφου σας ...

Πώς να φλερτάρουν να δείχνουν ενδιαφέρον για κάποιον - ανδρείκελα

Πώς να φλερτάρουν να δείχνουν ενδιαφέρον για κάποιον - ανδρείκελα

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

Δημιουργία Συνδεδεμένων Συνδέσεων μέσω Φίλων - Dummies

Δημιουργία Συνδεδεμένων Συνδέσεων μέσω Φίλων - Dummies

Copyright © 2014 AARP. Ολα τα δικαιώματα διατηρούνται. Αν δεχτείτε την πρόταση ότι οι δελεαστικοί και εξαιρετικοί άνθρωποι άνω των 50 ετών επανεισάγουν τον κόσμο που χρονολογείται όπως ακριβώς είστε, τότε το επόμενο πράγμα που πρέπει να λύσετε είναι το πού θα τα βρείτε. Ευτυχώς, έχετε διάφορες διαδρομές για να ταξιδέψετε, μερικές ή όλες από τις οποίες ...