Σήμερα θα μάθουμε πώς να ελέγχουμε εύκολα εάν ένα ή πολλά κελιά είναι κενά χρησιμοποιώντας τη Visual Basic for Applications. Το περιεχόμενο είναι σχετικό για το Excel 2019 / 365, 2016 και παλαιότερες εκδόσεις του Microsoft Office.
Εργασία προετοιμασίας
Πριν ξεκινήσετε την κωδικοποίηση με VBA στο Excel, θα πρέπει να βεβαιωθείτε ότι η καρτέλα ανάπτυξης είναι ενεργοποιημένη. Εάν δεν συμβαίνει αυτό, δείτε ευγενικά αυτό το σύντομο σεμινάριο .
Έλεγχος εάν η περιοχή κελιών του Excel είναι άδεια με VBA
- Στο Excel, ανοίξτε το περιβάλλον της Visual Basic πατώντας Alt+F11
- Εισαγάγετε τον ακόλουθο κώδικα ως διαδικασία στο φύλλο εργασίας σας ή εναλλακτικά σε μια ειδική μονάδα VBA.
Sub Check_Cell_is_empty_alt()
Dim rng As Range
Set rng = Selection
For Each Cell In rng
If IsEmpty(Cell.Value) = True Then
Debug.Print ("Empty")
Else
Debug.Print ("Not Empty")
End If
Next Cell
End Sub
- Μεταβείτε στο υπολογιστικό φύλλο σας και επιλέξτε ένα αυθαίρετο εύρος κελιών.
- Επιστρέψτε στο πρόγραμμα επεξεργασίας της Visual Basic και βεβαιωθείτε ότι το πρόγραμμα προβολής άμεσης προβολής (CTRL+G) είναι ορατό – καθώς η μέθοδος Debug.Print στον κώδικα θα εμφανίσει το αποτέλεσμά της σε αυτό το παράθυρο.
- Πατήστε F5 για να εκτελέσετε τον κωδικό σας.
- Δείτε τα αποτελέσματα στο άμεσο παράθυρο.
- Όλα τα κενά κελιά θα αναγνωριστούν.
Πιθανές επεκτάσεις στον κώδικα: Μπορείτε προφανώς να επεκτείνετε αυτόν τον κωδικό ανάλογα με τις ανάγκες σε περίπτωση που σας ενδιαφέρει να παραλείψετε κενές τιμές ή απλώς να μην κάνετε τίποτα σε περίπτωση που τα κελιά δεν είναι γεμάτα. Ομοίως, μπορείτε να ελέγξετε εάν το ίδιο το εύρος είναι κενό, δηλαδή – δεν υπάρχουν μαύρα κελιά.
Έλεγχος μη κενών πεδίων
Με τον ίδιο τρόπο μπορείτε να χρησιμοποιήσετε την ιδιότητα IsEmpty για να ελέγξετε για πεδία που δεν είναι κενά.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Μπόνους: Χρησιμοποιήστε τον παρακάτω κώδικα εάν θέλετε να επισημάνετε και τα κενά κελιά.
Dim i Όσο σκοτεινός c Όσο Dim myRange Ως Range Dim myCell As Range Ορισμός myRange = Range("A1:A10") Για κάθε myCell In myRange ' c = c + 1 If IsEmpty(myCell) Τότε myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Υπάρχουν συνολικά " &αμπέραζ; i & " άδεια κελιά από " &αμπέραζ; κατασκήνωση; "."