Κατά την εισαγωγή αρχείου κειμένου σε υπολογιστικό φύλλο excel, δυστυχώς, έχει διατηρήσει τα ανεπιθύμητα κόμματα στο τέλος. Γίνεται πραγματικά δύσκολο να αφαιρεθούν επιπλέον κόμματα στα κελιά. Εάν προσπαθείτε να το διορθώσετε χειροκίνητα, τότε θα χρειαστεί πολύς χρόνος. Ωστόσο, θα είναι πολύ πιο εύκολο με τον κώδικα μακροεντολής.
Σε αυτό το άρθρο θα επικεντρωθούμε στο πώς να αφαιρέσετε τα ανεπιθύμητα κόμματα και να διατηρηθούν εκεί που απαιτείται. Είναι πάντα καλύτερο να ξεκινάτε με τον καθαρισμό των δεδομένων σας για να αποφύγετε τυχόν σφάλματα σε μεταγενέστερο στάδιο και να κάνετε αναφορές που διαφορετικά θα μπορούσαν να ήταν πολύ ταραχώδεις και κανείς δεν θέλει να ξοδεύει το χρόνο του σε εκ νέου εργασία.
Εάν βρείτε τυχόν περιττά κόμματα στα δεδομένα, μπορείτε να τα αφαιρέσετε, λόγω διαφόρων λειτουργιών, όπως TRIM, SUBSTITUTE, FIND, LEN, REPLACE ή μπορείτε να χρησιμοποιήσετε το FIND & REPLACE (CTRL + H). Μπορείτε να επιλέξετε από διάφορες μεθόδους για να τις αφαιρέσετε.
Σε αυτό το άρθρο, θα επικεντρωθούμε στον τρόπο κατάργησης των ανεπιθύμητων κόμικων από τα εισαγόμενα αρχεία CSV και στη συνέχεια στην αποθήκευση αφού ολοκληρωθεί ο καθαρισμός μέσω κώδικα VBA.
Ερώτηση: Ανατρέξτε στο δείγμα αρχείου txt στο συνημμένο. Χρειάζομαι έναν κωδικό vb για να διαγράψω τους τελευταίους 8 χαρακτήρες της γραμμής#5
Για περισσότερες πληροφορίες σχετικά με την ερώτηση, μπορείτε να κάνετε κλικ σε αυτόν τον σύνδεσμο
Ακολουθεί το στιγμιότυπο του αρχείου σημειωματάριου:
Η γραμμή # 5 έχει το ακόλουθο κείμενο στο "RX408282,20150630 ,,,,,,,,,"
ενώ πρέπει να είναι "RX408282,20150630" & ταυτόχρονα ο κώδικας VBA δεν πρέπει να διαγράφει το κόμμα στις παραπάνω 4 γραμμές.
Για να λάβετε τον κωδικό, πρέπει να ακολουθήσετε τα παρακάτω βήματα για να ξεκινήσετε τον επεξεργαστή VB:
- Κάντε κλικ στην καρτέλα Προγραμματιστής
- Από την ομάδα κωδικών, επιλέξτε Visual Basic
- Αντιγράψτε τον παρακάτω κώδικα στην τυπική μονάδα
Sub test () Dim fn As String, txt As String fn = Application.GetOpenFilename ("TextFiles,*. Txt") If fn = "" Then Exit Sub txt = CreateObject ("Scripting.FileSystemObject"). OpenTextFile (fn) ReadAll With CreateObject ("VBScript.RegExp") .Global = True: .MultiLine = True .Pattern = ",+$" Open Replace (fn, ".txt", "_Clean.txt") Για έξοδο ως #1 Εκτύπωση # 1, .Αντικατάσταση (txt, "") Κλείσιμο #1 Τέλος με τέλος υπο
Επεξήγηση κώδικα:
- Ο παραπάνω κώδικας θα σας ζητήσει πρώτα να επιλέξετε το αρχείο στο οποίο βρίσκεται
- Μετά την εκτέλεση του κώδικα, λαμβάνουμε ένα αρχείο εξόδου με όνομα Test_Clean
- Για να ελέγξετε αν ο κωδικός λειτουργεί καλά ή όχι. ας ανοίξουμε το αρχείο .txt και βλέπουμε τα αποτελέσματα
- Μπορούμε να δούμε την τελευταία γραμμή, δηλαδή τη γραμμή # 5, η οποία στο παρελθόν είχε ανεπιθύμητα κόμματα στο τέλος έχει διορθωθεί τώρα
Συμπέρασμα: Με αυτόν τον τρόπο, μπορούμε να αφαιρέσουμε επιπλέον κόμματα από έναν καθορισμένο φάκελο και στη συνέχεια να αποθηκεύσουμε τα σωστά δεδομένα σε άλλο αρχείο σημειωματάριου.
Αν σας άρεσαν τα ιστολόγια μας, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε, να συμπληρώσουμε ή να καινοτομήσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email