Excel VBA για την εκκαθάριση των περιεχομένων της περιοχής (3 κατάλληλες περιπτώσεις)

  • Μοιραστείτε Αυτό
Hugh West

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

Κατεβάστε το βιβλίο ασκήσεων

Μπορείτε να κατεβάσετε το τετράδιο ασκήσεων από εδώ:

Εκκαθάριση περιεχομένων του Range.xlsm

Εκκαθάριση περιεχομένων της περιοχής με το Excel VBA: 3 περιπτώσεις

Ας υποθέσουμε ότι έχετε ένα σύνολο δεδομένων που μπορεί να θέλετε να επαναχρησιμοποιήσετε καθαρίζοντας τα υπάρχοντα κελιά. Έτσι, μπορείτε να χρησιμοποιήσετε κώδικα VBA για να καθαρίσετε τα περιεχόμενα ενός αρχείου Excel. Σε αυτή την ενότητα, θα σας δείξω τις γρήγορες και εύκολες μεθόδους για να εκκαθάριση περιεχομένου περιοχής με το Excel VBA στο λειτουργικό σύστημα Windows. Θα βρείτε λεπτομερείς εξηγήσεις με σαφείς εικόνες για κάθε πράγμα σε αυτό το άρθρο. Έχω χρησιμοποιήσει Έκδοση Microsoft 365 Αλλά μπορείτε να χρησιμοποιήσετε οποιαδήποτε άλλη έκδοση ανάλογα με τη διαθεσιμότητά σας. Αν κάτι από αυτό το άρθρο δεν λειτουργεί στη δική σας έκδοση, τότε αφήστε μας ένα σχόλιο.

Περίπτωση 1: Εκκαθάριση όλων των περιεχομένων της περιοχής

Μπορείτε να χρησιμοποιήσετε τόσο την εντολή Καθαρισμός όσο και την εντολή Διαγραφή για να διαγράψετε τα περιεχόμενα μιας συγκεκριμένης περιοχής στο τρέχον φύλλο εργασίας ή σε άλλα φύλλα εργασίας ακόμη και από άλλα βιβλία εργασίας. Θα σας δείξω όλες τις περιπτώσεις μία προς μία.

i. Εκκαθάριση περιεχομένων συγκεκριμένης περιοχής κελιών

Αν θέλετε να διαγράψετε τα περιεχόμενα μιας συγκεκριμένης περιοχής, ακολουθήστε τα παρακάτω βήματα:

📌 Βήματα:

  • Για το σκοπό αυτό, πρώτα, μεταβείτε στην επάνω κορδέλα και πατήστε το κουμπί Προγραμματιστής , και στη συνέχεια πατήστε το κουμπί Visual Basic από το μενού.
  • Μπορείτε να χρησιμοποιήσετε ALT + F11 για να ανοίξετε το "Microsoft Visual Basic για εφαρμογές" αν δεν έχετε προσθέσει την καρτέλα Developer.

  • Τώρα, ένα παράθυρο με όνομα "Microsoft Visual Basic για εφαρμογές" Εδώ, από την επάνω γραμμή μενού, πατήστε το κουμπί "Εισαγωγή" Και θα εμφανιστεί ένα μενού. Από αυτά, επιλέξτε το "Module'" επιλογή.

  • Τώρα, ένα νέο "Module" θα εμφανιστεί το παράθυρο. Επικόλληση αυτόν τον κώδικα VBA στο πλαίσιο.

Χρήση της εντολής Clear Command:

 Sub Clear_Contents_Range() Range("B4:D5").Clear End Sub 

  • Για να εκτελέσετε τον κώδικα μεταβείτε στο επάνω μενού, πατήστε το κουμπί Εκτέλεση και εδώ θα ανοίξουν κάποιες άλλες επιλογές και επιλέξτε το Εκτέλεση Sub/UserForm επίσης μπορείτε απλά να πατήσετε F5 για να εκτελέσετε τον κώδικα.

  • Χρησιμοποιώντας το Σαφής τα κελιά θα καθαριστούν και η μορφοποίηση θα αφαιρεθεί, αλλά τα κενά κελιά θα παραμείνουν.

Χρήση της εντολής Delete:

Μπορείτε επίσης να χρησιμοποιήσετε το Διαγραφή αντί της εντολής Σαφής Στη συνέχεια επικολλήστε τον ακόλουθο κώδικα στην ενότητα.

 Sub Delete_Contents_Range() Range("B4:D5").Delete End Sub 

Χρησιμοποιώντας την εντολή Διαγραφή, όταν εκτελείτε τον κώδικα, η επιλεγμένη περιοχή κελιών θα αφαίρεσε το εντελώς.

Διαβάστε περισσότερα: Excel VBA: Καθαρισμός περιεχομένων εάν το κελί περιέχει συγκεκριμένες τιμές

Διαφορά μεταξύ των εντολών Clear και Delete στο Excel VBA:

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

ii. Σαφή περιεχόμενα του πλήρους φύλλου εργασίας

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

 Sub Delete_Contents_Range() Worksheets("1.2").Cells.Clear End Sub 

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

 Sub Delete_Contents_Range() Worksheets("1.2").Cells.Delete End Sub 

iii. Διαγραφή περιεχομένων του ενεργού φύλλου εργασίας

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

 Sub Delete_Contents_Range() ActiveSheet.Cells.Clear End Sub 

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

Sub Διαγραφή_Contents_Range()

ActiveSheet.Cells.Delete

End Sub

Διαβάστε περισσότερα: Διαφορά μεταξύ διαγραφής και εκκαθάρισης περιεχομένων στο Excel

Περίπτωση 2: Διαγραφή περιεχομένων της περιοχής διατηρώντας τη μορφοποίηση

Στις προηγούμενες μεθόδους, έχετε παρατηρήσει ότι αφαιρείτε τις τιμές των κελιών μαζί με τις μορφοποιήσεις των κελιών επίσης. Έτσι, αν θέλετε να αφαιρεί μόνο τις τιμές των κελιών διατηρώντας τη μορφοποίηση το ίδιο.

i. Περιεχόμενο της συγκεκριμένης σειράς

Μπορείτε να χρησιμοποιήσετε το ClearContents εντολή στο Excel VBA για να καθαρίσετε τα περιεχόμενα μιας συγκεκριμένης περιοχής. Για το σκοπό αυτό, επικολλήστε τον ακόλουθο κώδικα στην ενότητα.

 Sub Delete_cell_Keeping_format() Range("B2:D4").ClearContents End Sub 

Ως αποτέλεσμα, όταν εκτελείτε τον κώδικα, θα δείτε ότι τα επιλεγμένα κελιά διαγράφονται, αλλά οι μορφές παραμένουν.

Διαβάστε περισσότερα: Πώς να καθαρίσετε τα κελιά με συγκεκριμένη τιμή στο Excel (2 τρόποι)

ii. Περιεχόμενα του ειδικού φύλλου εργασίας

Όταν θέλετε να διαγράψετε τα περιεχόμενα του συγκεκριμένου φύλλου εργασίας διατηρώντας τις ίδιες μορφές, πρέπει να χρησιμοποιήσετε τον παρακάτω κώδικα:

 Sub Delete_Worksheet_Cells_Keeping_format() Worksheets("2.2").Range("B2:D4").ClearContents End Sub 

🔎 Επεξήγηση κώδικα VBA:

  • Φύλλα εργασίας("2.2") καλεί το φύλλο εργασίας με το όνομα "2.2", αν θέλετε να καλέσετε ένα φύλλο εργασίας με οποιοδήποτε άλλο όνομα, εισάγετε το όνομα του φύλλου εργασίας μέσα σε εισαγωγικά.
  • Και, Εύρος("B2:D4") προσδιορίζει την περιοχή κελιών που θα διαγραφεί. Μπορείτε να επεξεργαστείτε την περιοχή κελιών ανάλογα με τις ανάγκες σας.

iii. Περιεχόμενα από άλλο βιβλίο εργασίας

Μπορείτε επίσης να σαφές το περιεχόμενα του ένα άλλο βιβλίο εργασίας χρησιμοποιώντας το VBA Αλλά, για να γίνει αυτό, πρέπει να κρατήστε το αυτό το βιβλίο εργασίας ανοιχτό Χρησιμοποιήστε τον παρακάτω κώδικα για το σκοπό αυτό:

 Sub Delete_Other_Workbook_Cells_Keeping_format() Workbooks("file 1").Worksheets("Sheet1").Range("B3:D12").ClearContents End Sub 

🔎 Επεξήγηση κώδικα VBA:

  • Βιβλία εργασίας("αρχείο 1") καλεί το βιβλίο εργασίας με όνομα "Αρχείο 1". Κατά τη χρήση των βιβλίων εργασίας σας, πρέπει να εισάγετε το όνομα του βιβλίου εργασίας μέσα σε εισαγωγικά.
  • Φύλλα εργασίας("Sheet1") καλεί το φύλλο εργασίας με το όνομα "Φύλλο 1". Για να καλέσετε οποιοδήποτε άλλο φύλλο εργασίας, απλώς εισάγετε το όνομα του φύλλου εργασίας αντί του "Φύλλο 1" σε αυτόν τον κώδικα.
  • Και, Εύρος("B3:D13") Μπορείτε να επεξεργαστείτε την περιοχή κελιών ανάλογα με τις ανάγκες σας.

Διαβάστε περισσότερα: Πώς να καθαρίσετε τα περιεχόμενα χωρίς να διαγράψετε τύπους χρησιμοποιώντας το VBA στο Excel

Περίπτωση 3: Διαγραφή περιεχομένων συγκεκριμένης περιοχής όλων των φύλλων εργασίας ταυτόχρονα

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

 Sub Clear_Specific_Range_All_Worksheets() Dim W_S As Worksheet For Each W_S In ActiveWorkbook.Worksheets W_S.Range("B2:D4").ClearContents Next W_S End Sub 

Πράγματα που πρέπει να θυμάστε

  • Χρησιμοποιώντας το Σαφής θα διαγράψει μόνο τις τιμές και τις μορφές των κελιών.
  • Διαγραφή η εντολή θα αφαιρέσει τα κελιά εντελώς.
  • ClearContents θα διαγράψει μόνο τις τιμές των κελιών και θα διατηρήσει ανέπαφες τις μορφές των κελιών.

Συμπέρασμα

Σε αυτό το άρθρο, έχετε βρει πώς να εκκαθάριση των περιεχομένων της περιοχής με το Excel VBA . ελπίζω να βρήκατε αυτό το άρθρο χρήσιμο. Μπορείτε να επισκεφθείτε την ιστοσελίδα μας ExcelWIKI για να μάθετε περισσότερο περιεχόμενο που σχετίζεται με το Excel. Παρακαλώ, αφήστε σχόλια, προτάσεις ή ερωτήματα αν έχετε κάποια στην ενότητα σχολίων παρακάτω.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.