Πίνακας περιεχομένων
Σε αυτό το άρθρο, θα σας δείξω πώς μπορείτε να χρησιμοποιήσετε ένα Αν η δήλωση στο VBA στο Excel με βάση μια τιμή κελιού.
Excel VBA: Δήλωση If με βάση την τιμή κελιού (Γρήγορη προβολή)
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
Κατεβάστε το βιβλίο ασκήσεων
Κατεβάστε αυτό το τετράδιο ασκήσεων για να εξασκηθείτε ενώ διαβάζετε αυτό το άρθρο.
Αν δήλωση με βάση το κελί Value.xlsmΕάν η δήλωση βασίζεται στην τιμή κελιού στο Excel VBA
Εδώ έχουμε ένα φύλλο εργασίας που περιέχει το ονόματα και σήματα ορισμένων μαθητών ενός σχολείου σε μια εξέταση.
Στόχος μας είναι να μάθουμε πώς να χρησιμοποιούμε το Αν η δήλωση στο Excel VBA με βάση μια τιμή κελιού από αυτό το σύνολο δεδομένων.
1. Δήλωση If με βάση την τιμή κελιού ενός μεμονωμένου κελιού στο Excel VBA
Πρώτα απ' όλα, θα μάθουμε να χρησιμοποιούμε μια δήλωση If με βάση την τιμή ενός μόνο κελιού.
Για παράδειγμα, ας προσπαθήσουμε να δούμε αν η Natalia Austin πέρασε στις εξετάσεις ή όχι, δηλαδή αν ο βαθμός στο κελί C3 είναι μεγαλύτερη από 40 ή όχι.
Στήλη D περιέχει το αποτέλεσμα των μαθητών. Δηλαδή, αν το κελί C3 περιέχει βαθμό μεγαλύτερο από 40, το κελί D3 θα περιέχει "Πέρασε" . Διαφορετικά, θα περιέχει "Απέτυχε" .
Θα χρησιμοποιήσουμε ένα VBA Εύρος αντικείμενο για να δημιουργήσετε αυτό το Αν η δήλωση με βάση την τιμή του κελιού.
Το VBA ο κώδικας για αυτό θα είναι:
⧭ Κώδικας VBA:
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
⧭ Έξοδος:
Εκτελέστε τον κώδικα από το Εκτέλεση Sub / UserForm εργαλείο στο VBA γραμμή εργαλείων.
Θα κάνει το κύτταρο D3 περιέχουν "Απέτυχε" , όπως το σήμα στο κελί C3 είναι μικρότερη από 40 ( 32 ).
2. Δήλωση If με βάση τις τιμές μιας περιοχής κελιών στο Excel VBA
Μπορείτε επίσης να χρησιμοποιήσετε το Αν η δήλωση με βάση τις τιμές ενός εύρους κελιών στο VBA Μπορείτε να χρησιμοποιήσετε ένα for-loop για το σκοπό αυτό.
Για παράδειγμα, εδώ μπορούμε να βρούμε το αποτέλεσμα όλων των μαθητών με έναν μόνο κωδικό. Θα επαναλάβουμε μια επανάληψη σε ένα for-loop που θα ελέγξει όλα τα κελιά στην περιοχή C3:C12 και να επιστρέψει ένα αντίστοιχο αποτέλεσμα, "Πέρασε" ή "Απέτυχε" .
Το VBA ο κώδικας για αυτό θα είναι:
⧭ Κώδικας VBA:
Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub
⧭ Έξοδος:
Εκτελέστε τον κώδικα από το Εκτέλεση Sub / UserForm εργαλείο στο VBA Θα επιστρέψει "Πέρασε" για τα σημάδια που είναι μεγαλύτερα από 40 , και "Αποτυχημένη" για εκείνες που είναι μικρότερες από n 40 .
Πράγματα που πρέπει να θυμάστε
Εδώ έχω δείξει ένα Αν η δήλωση με μία μόνο συνθήκη. Αλλά αν θέλετε, μπορείτε να χρησιμοποιήσετε πολλαπλές συνθήκες μέσα σε ένα Αν η δήλωση .
Εάν χρησιμοποιείτε Ή πληκτρολογήστε πολλαπλές συνθήκες, ενώστε τις με ένα Ή .
Και αν χρησιμοποιείτε ΚΑΙ πληκτρολογήστε πολλαπλές συνθήκες, ενώστε τις με ένα ΚΑΙ .
Για παράδειγμα, για να ελέγξετε αν το σημάδι στο κελί B3 είναι μεγαλύτερη από 40 και λιγότερο από 50 ή όχι, χρησιμοποιήστε:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then