Λειτουργία Excel VBA TRIM (εξηγείται με παραδείγματα)

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

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

Υπάρχει μια λειτουργία TRIM και στο VBA (και κάνει ακριβώς το ίδιο πράγμα - αφαιρέστε επιπλέον χώρους).

Γιατί χρειαζόμαστε μια λειτουργία TRIM και σε VBA;

Δίκαιη ερώτηση!

Ενώ μπορείτε να εργαστείτε με την ενσωματωμένη λειτουργία TRIM στα φύλλα εργασίας του Excel για να απαλλαγείτε από τα κενά. σε ορισμένες περιπτώσεις, μπορεί να χρειαστεί να το κάνετε αυτό χρησιμοποιώντας VBA.

Αυτό θα μπορούσε να είναι μέρος ενός μεγαλύτερου κώδικα.

Σύνταξη της λειτουργίας VBA TRIM

TRIM (Χορδή)

Το "String" είναι το όρισμα που μπορεί να είναι μια συμβολοσειρά κειμένου ή μια μεταβλητή που περιέχει μια συμβολοσειρά κειμένου.

Ας μάθουμε πώς να χρησιμοποιούμε τη λειτουργία VBA TRIM με μερικά παραδείγματα.

Παράδειγμα 1 - Εμφάνιση αποτελεσμάτων σε ένα πλαίσιο μηνυμάτων

Ας υποθέσουμε ότι έχετε το ακόλουθο κείμενο στο κελί A1

Σημειώστε ότι υπάρχουν κενά πριν και μετά την πρόταση.

Ο παρακάτω κώδικας θα έπαιρνε αυτήν την πρόταση και θα έδειχνε το αποτέλεσμα μετά την περικοπή των επιπλέον χώρων

Sub TrimExample1 () MsgBox Trim (Range ("A1")) End Sub

Υπάρχει ένα σημαντικό πράγμα που πρέπει να γνωρίζετε όταν χρησιμοποιείτε τη λειτουργία TRIM στο VBA - θα αφαιρέσει μόνο τους κεντρικούς και πίσω χώρους. Δεν θα αφαιρέσει τα επιπλέον κενά μεταξύ των λέξεων (που κάνει η ενσωματωμένη συνάρτηση TRIM στο φύλλο εργασίας).

Για παράδειγμα, ας υποθέσουμε ότι έχετε το ακόλουθο κείμενο στο κελί A1 (με επιπλέον κενά μεταξύ των λέξεων):

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

Όπως μπορείτε να δείτε στο αποτέλεσμα του πλαισίου μηνυμάτων, τα επιπλέον κενά μεταξύ των λέξεων δεν αφαιρούνται από τη λειτουργία VBA TRIM.

Τότε ποια είναι η εναλλακτική;

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

Sub TrimExample1 () MsgBox WorksheetFunction.Trim (Range ("A1")) End Sub

Ο παραπάνω κώδικας χρησιμοποιεί τη συνάρτηση φύλλου εργασίας TRIM (αντί να χρησιμοποιεί τη συνάρτηση TRIM στο VBA).

Σημείωση: Η λειτουργία περικοπής VBA δεν αφαιρεί τους χαρακτήρες μη λευκού χώρου - όπως οι νέες γραμμές (vbNewLine, vbCrLf) και τα λοιπά.

Παράδειγμα 2 - Γρήγορη κατάργηση των κεντρικών και προπορευόμενων χώρων από μια περιοχή κελιών

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

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

Sub TrimExample1 () Dim Rng As Range Set Rng = Επιλογή για κάθε κελί στο κελί Rng. Value = Trim (Cell) Next Cell End Sub

Ο παραπάνω κώδικας περνά από όλα τα κελιά της επιλογής και αφαιρεί τα κενά και τα κενά.

Μπορεί επίσης να σας αρέσουν τα ακόλουθα μαθήματα Excel/VBA:

  • 10 τρόποι καθαρισμού δεδομένων στο Excel.
  • Λειτουργία διαχωρισμού Excel VBA.
  • Λειτουργία Excel VBA InStr.
  • Λειτουργία VBA LCase.
  • Λειτουργία VBA UCase.
  • Δημιουργία συνάρτησης καθορισμένης από το χρήστη (UDF) στο Excel VBA.
wave wave wave wave wave