Πολλοί χρήστες του Excel κρύβουν γραμμές και στήλες όταν έχουν κάποια δεδομένα που δεν χρειάζονται ορατά.
Είναι ένας τρόπος να διατηρείτε ορατά μόνο τα χρήσιμα δεδομένα και ταυτόχρονα να μην χρειάζεται να διαγράψετε τα δεδομένα που δεν χρειάζεται να είναι ορατά.
Και, αν έχετε πολλές τέτοιες κρυφές σειρές/στήλες, θα ήταν πόνος να βρείτε και να διαγράψετε αυτές τις κρυφές σειρές και στήλες (στην περίπτωση που δεν τις χρειάζεστε).
Σε αυτό το σεμινάριο, θα σας δείξω μερικούς τρόπους για να το κάνετε εύκολα διαγράψτε κρυφές γραμμές και στήλες στο Excel.
Υπάρχει μια ενσωματωμένη μέθοδος που σας επιτρέπει να διαγράψετε όλες τις κρυφές γραμμές και στήλες με τη μία και μπορείτε επίσης να χρησιμοποιήσετε κώδικες μακροεντολών VBA σε περίπτωση που θέλετε να το εφαρμόσετε στο επιλεγμένο εύρος κελιών μας.
Ας ξεκινήσουμε λοιπόν!
Διαγράψτε όλες τις κρυφές γραμμές και στήλες στο Excel
Εάν θέλετε να διαγράψετε όλες τις κρυφές γραμμές και στήλες σε ένα ολόκληρο βιβλίο εργασίας στο Excel, μπορείτε να χρησιμοποιήσετε τη μέθοδο που εμφανίζεται εδώ.
Να θυμάστε ότι πρόκειται να αφαιρέσει αυτές τις κρυφές γραμμές και στήλες από ολόκληρο το βιβλίο εργασίας και όχι μόνο από το ενεργό φύλλο.
Παρακάτω είναι τα βήματα για τη διαγραφή όλων των κρυφών γραμμών και στηλών από το βιβλίο εργασίας στο Excel:
- Κάντε κλικ στην επιλογή Αρχείο
- Στις επιλογές στα αριστερά, κάντε κλικ στο «Πληροφορίες»
- Κάντε κλικ στην επιλογή «Έλεγχος για ζητήματα»
- Κάντε κλικ στην επιλογή «Επιθεώρηση εγγράφου». Αυτό θα ανοίξει το παράθυρο διαλόγου Document Inspector
- Στο παράθυρο διαλόγου «Επιθεωρητής εγγράφων», κάντε κλικ στο κουμπί «Επιθεώρηση». Αυτό θα επιθεωρήσει ολόκληρο το βιβλίο εργασίας και θα σας δώσει τις πληροφορίες σχετικά με το βιβλίο εργασίας
- Κάντε κύλιση προς τα κάτω στην επιλογή «Κρυφές σειρές και στήλες». Θα δείτε ότι εμφανίζει τον συνολικό αριθμό κρυφών γραμμών και στηλών που έχει βρει στο βιβλίο εργασίας.
- Κάντε κλικ στο κουμπί «Κατάργηση όλων»
Τα παραπάνω βήματα θα διαγράψουν όλες τις κρυφές γραμμές και στήλες στο βιβλίο εργασίας.
Σημειώστε ότι πρέπει να αποθηκεύσετε αυτό το βιβλίο εργασίας πριν εκτελέσετε την επιλογή Document Inspector. Σε περίπτωση που το βιβλίο εργασίας δεν έχει αποθηκευτεί ήδη, το Excel θα σας υποχρεώσει πρώτα να το αποθηκεύσετε. Επίσης, θα σας εμφανίσει ένα προειδοποιητικό μήνυμα που θα σας ζητά να αποθηκεύσετε το αρχείο μία φορά, καθώς τα δεδομένα που έχουν αλλάξει με αυτά τα βήματα δεν μπορούν να ανακτηθούν.
Σε περίπτωση που δεν υπάρχουν κρυφές γραμμές και στήλες, θα βλέπετε ένα πράσινο τσιμπούρι πριν από την επιλογή Κρυφά και γραμμές και στήλες (στο παράθυρο διαλόγου Έλεγχος εγγράφων).
Εκτός από κρυφές σειρές και στήλες, το παράθυρο διαλόγου Document Inspector σας δίνει επίσης πολλές άλλες χρήσιμες πληροφορίες - όπως τον αριθμό σχολίων ή κρυφών φύλλων εργασίας ή ενσωματωμένων εγγράφων κ.λπ.
Σημείωση: Δεν μπορείτε να αναιρέσετε τις αλλαγές που έγιναν από τον Επιθεωρητή εγγράφων. Βεβαιωθείτε λοιπόν ότι έχετε αντίγραφο ασφαλείας των αρχικών δεδομένων (σε περίπτωση που μπορεί να τα χρειαστείτε στο μέλλον)Αυτή είναι μια εξαιρετική μέθοδος εάν θέλετε να διαγράψετε όλες τις κρυφές στήλες και γραμμές για ολόκληρο το βιβλίο εργασίας.
Αλλά σε περίπτωση που θέλετε να το διαγράψετε μόνο σε ένα συγκεκριμένο φύλλο ή σε ένα συγκεκριμένο εύρος, τότε δεν μπορείτε να χρησιμοποιήσετε αυτήν την επιλογή.
Σε αυτήν την περίπτωση, μπορείτε να χρησιμοποιήσετε τη μέθοδο VBA που καλύπτεται στη συνέχεια.
Διαγράψτε κρυφές γραμμές και στήλες χρησιμοποιώντας VBA
Εάν έχετε μόνο μερικές κρυφές γραμμές και στήλες, είναι δυνατό να τις αποκρύψετε με μη αυτόματο τρόπο και στη συνέχεια να τις διαγράψετε.
Αλλά αν αυτό είναι κάτι που πρέπει να κάνετε αρκετά συχνά ή εάν έχετε ένα μεγάλο σύνολο δεδομένων με μεγάλο αριθμό γραμμών/στηλών που είναι κρυμμένες, είναι καλύτερο να χρησιμοποιήσετε κώδικες μακροεντολών VBA για να αυτοματοποιήσετε αυτήν τη διαδικασία.
Ας δούμε διαφορετικά σενάρια όπου μπορείτε να χρησιμοποιήσετε το VBA για να διαγράψετε αυτές τις κρυφές γραμμές και στήλες.
Από ένα ολόκληρο φύλλο εργασίας (Χρησιμοποιημένο εύρος)
Ενώ μπορώ να κάνω τον κωδικό VBA να ελέγξει ολόκληρο το φύλλο εργασίας ξεκινώντας από τον αριθμό της τελευταίας σειράς και τον τελευταίο αριθμό στήλης στο φύλλο εργασίας, αυτό θα ήταν σπατάλη πόρων.
Μια καλύτερη μέθοδος θα ήταν να δείτε ποιο είναι το χρησιμοποιούμενο εύρος και στη συνέχεια να ελέγξετε μόνο το χρησιμοποιούμενο εύρος για τυχόν κρυφές γραμμές και στήλες.
Παρακάτω είναι ο κώδικας VBA που θα διαγράψει όλες τις κρυφές σειρές στο χρησιμοποιούμενο εύρος:
Sub DeleteHiddenRows () Dim sht Asetheet Dim LastRow Set sht = ActiveSheet LastRow = sht.UsedRange.Rows (sht.UsedRange.Rows.Count). Row For i = LastRow To 1 Step -1 If Rows (i) .Hidden = True Στη συνέχεια, Rows (i) .EntireRow. Delete Next End Sub
Ο παραπάνω κώδικας VBA εντοπίζει πρώτα τον αριθμό τελευταίας σειράς στο χρησιμοποιούμενο εύρος και εκχωρεί αυτόν τον αριθμό γραμμής στη μεταβλητή «LastRow».
Αυτός ο αριθμός της τελευταίας σειράς χρησιμοποιείται στη συνέχεια σε έναν βρόχο For Next, όπου ξεκινά από την τελευταία σειρά και ελέγχει αν είναι κρυμμένος ή όχι.
Σε περίπτωση που είναι κρυμμένη, ολόκληρη η σειρά διαγράφεται. Και σε περίπτωση που δεν είναι κρυμμένο, ο κώδικας αφήνει τη σειρά ως έχει και μετακινείται στη γραμμή πάνω από αυτήν. Αυτός ο βρόχος ελέγχει όλες τις γραμμές και διαγράφει κάθε κρυφή σειρά που συναντά κατά τη διαδικασία.
Σε περίπτωση που θέλετε να διαγράψετε όλες τις κρυφές στήλες στο χρησιμοποιούμενο εύρος, χρησιμοποιήστε τον παρακάτω κωδικό VBA:
Sub DeleteHiddenColumns () Dim sht As Worksheet Dim LastCol as Integer Set sht = ActiveSheet LastCol = sht.UsedRange.Columns (sht.UsedRange.Columns.Count) .Solumn For i = LastCol To 1 Step -1 If Columns (i). = True Στη συνέχεια στήλες (i) .EntireColumn.Delete Next End Sub
Αυτό λειτουργεί ξανά με τον ίδιο τρόπο, όπου αντί για γραμμές, ελέγχουμε για στήλες.
Έτσι, ανακαλύπτει τον τελευταίο αριθμό στήλης στο χρησιμοποιούμενο εύρος, τον εκχωρεί σε μια μεταβλητή και στη συνέχεια χρησιμοποιεί το βρόχο για να μεταβεί από την τελευταία στήλη στην πρώτη στήλη και να διαγράψει όλες τις κρυφές στήλες στη διαδικασία.
Και σε περίπτωση που θέλετε να έχετε έναν κωδικό που θα διαγράφει όλες τις κρυφές σειρές, καθώς και τις κρυφές στήλες, χρησιμοποιήστε τον παρακάτω κώδικα VBA:
Sub DeleteHiddenRowsColumns () Dim sht As Worksheet Dim LastRow as Integer Dim LastCol as Integer Set sht = ActiveSheet LastRow = sht.UsedRange.Rows (sht.UsedRange.Rows.Count) .Row LastCol = sht.UsedRange.Columns (sht.UsedRange (. Στήλες. Αριθμός). Στήλη Για i = LastRow To 1 Step -1 If Rows (i). Hidden = True then Rows (i) .EntireRow.Delete Next For i = LastCol To 1 Step -1 If Columns (i). = True Στη συνέχεια στήλες (i) .EntireColumn.Delete Next End Sub
Αυτός είναι μόνο ο συνδυασμένος κώδικας τόσο για τις γραμμές όσο και για τις στήλες και λειτουργεί με τον ίδιο τρόπο.
Αντί ενός βρόχου, αυτός χρησιμοποιεί δύο ξεχωριστούς βρόχους, όπου περνάει πρώτα από όλες τις γραμμές και στη συνέχεια περνάει από όλες τις στήλες. Και στην πορεία, διαγράφει όλες τις κρυφές γραμμές και στήλες που συναντά.
Σημειώστε ότι πρέπει να τοποθετήσετε αυτόν τον κώδικα VBA σε μια κανονική λειτουργική μονάδα στον επεξεργαστή Visual Basic. Στη συνέχεια, μπορείτε να εκτελέσετε τον κώδικα απευθείας από το πρόγραμμα επεξεργασίας VB, χρησιμοποιώντας το παράθυρο διαλόγου μακροεντολή ή προσθέτοντας αυτήν τη μακροεντολή στη γραμμή εργαλείων γρήγορης πρόσβασης.
Εάν αυτό είναι κάτι που πρέπει να κάνετε αρκετά συχνά, μπορείτε επίσης να προσθέσετε αυτόν τον κώδικα στο προσωπικό βιβλίο μακροεντολών εργασίας, έτσι ώστε να έχετε πρόσβαση σε αυτόν από όλα τα βιβλία εργασίας του συστήματός σας.
Από ένα συγκεκριμένο εύρος κυττάρων
Σε περίπτωση που έχετε ένα συγκεκριμένο εύρος από το οποίο θέλετε να καταργήσετε κρυφές γραμμές και στήλες, πρέπει να το καθορίσετε μέσα στον κώδικα.
Αυτό διασφαλίζει ότι ο κώδικας κυκλώνει μόνο τις γραμμές και τις στήλες στο συγκεκριμένο εύρος και αφήνει τις άλλες περιοχές στο φύλλο εργασίας ανέγγιχτες
Κάτω από τον κώδικα VBA που θα το έκανε αυτό:
Sub DeleteHiddenRowsColumns () Dim sht As worksheet Dim Rng As Range Dim LastRow As Integer Dim RowCount As Integer Set sht = ActiveSheet Set Rng = Range ("A1: K200") RowCount = Rng.Rows.Count LastRow = Rng.Rows (Rng Rows.Count). Row ColCount = Rng.Columns.Count LastCol = Rng.Columns (Rng.Columns.Count). Colon For i = LastRow To LastRow - RowCount Step -1 If Rows (i). Hidden = True then Rows ( i) .EntireRow.Delete Next For j = LastCol To LastCol - ColCount Step -1 If Columns (j). Hidden = True Στη συνέχεια, στήλες (j) .EntireColumn.Delete Next End Sub
Στον παραπάνω κώδικα, έχω καθορίσει το εύρος ως A1: K200.
Αυτό κάνει τον κώδικα να περάσει από όλες τις γραμμές και στήλες στο καθορισμένο εύρος και να αφαιρέσει τυχόν κρυφές γραμμές και στήλες που συναντά.
Σε περίπτωση που έχετε κρυφές γραμμές ή στήλες εκτός αυτού του εύρους, αυτές θα παραμείνουν ανεπηρέαστες.
Έτσι, μπορείτε να διαγράψετε κρυφές γραμμές και στήλες στο Excel.
Εάν θέλετε να το κάνετε σε ολόκληρο το βιβλίο εργασίας, μπορείτε να χρησιμοποιήσετε την επιλογή Έλεγχος εγγράφων. Και σε περίπτωση που χρειάζεστε περισσότερο έλεγχο, μπορείτε να χρησιμοποιήσετε τους κωδικούς VBA όπως φαίνεται παραπάνω.
Ελπίζω να βρήκατε χρήσιμο αυτό το σεμινάριο!