Πίνακας περιεχομένων
Αν ψάχνετε τρόπους για να αντικατάσταση κειμένου σε μια συμβολοσειρά χρησιμοποιώντας το Excel VBA , τότε θα βρείτε αυτό το άρθρο χρήσιμο. Η αντικατάσταση ενός συγκεκριμένου τμήματος κειμένου μπορεί να εξοικονομήσει πολύ χρόνο από την εκ νέου πληκτρολόγηση των συμβολοσειρών κειμένου. Ας μπούμε λοιπόν στο κύριο άρθρο για να μάθουμε τις λεπτομέρειες σχετικά με αυτή την εργασία αντικατάστασης.
Λήψη βιβλίου εργασίας
Αντικατάσταση κειμένου σε String.xlsm5 τρόποι αντικατάστασης κειμένου σε συμβολοσειρά χρησιμοποιώντας το Excel VBA
Εδώ, έχουμε το ακόλουθο σύνολο δεδομένων που περιέχει κάποιες εγγραφές των υπαλλήλων με τα email ids τους. Ο στόχος μας είναι να αντικαταστήσουμε τα παλιά ονόματα τομέων με τα νέα. Στις ακόλουθες μεθόδους, θα εργαστούμε με αυτό το σύνολο δεδομένων μαζί με κάποιες τυχαίες συμβολοσειρές κειμένου για να αντικαταστήσουμε το επιθυμητό κείμενο με VBA κωδικοί.
Έχουμε χρησιμοποιήσει Microsoft Excel 365 έκδοση εδώ, μπορείτε να χρησιμοποιήσετε οποιεσδήποτε άλλες εκδόσεις ανάλογα με την ευκολία σας.
Μέθοδος-01: Αντικατάσταση κειμένου ξεκινώντας από την n-οστή θέση μιας τυχαίας συμβολοσειράς
Εδώ, θα αντικαταστήσουμε το κείμενο σε μια τυχαία συμβολοσειρά κειμένου για διαφορετικές αρχικές θέσεις.
Βήμα-01 :
➤ Πηγαίνετε στο Προγραμματιστής Καρτέλα>>, Κωδικός Ομάδα>>, Visual Basic Επιλογή.
Στη συνέχεια, το Visual Basic Editor θα ανοίξει.
➤ Πηγαίνετε στο Εισαγωγή Καρτέλα>>, Ενότητα Επιλογή.
Μετά από αυτό, ένα Ενότητα θα δημιουργηθεί.
Βήμα-02 :
➤ Γράψτε τον ακόλουθο κώδικα
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub
Εδώ, έχουμε δηλώσει full_txt_str και updated_str ως Συμβολοσειρά και στη συνέχεια ανατέθηκε full_txt_str σε μια τυχαία συμβολοσειρά κειμένου- "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" . Τότε το VBA Λειτουργία REPLACE χρησιμοποιείται για να αντικαταστήσει το Αυτοκίνητα μέρος αυτής της τυχαίας συμβολοσειράς με Ποδήλατα και 1 χρησιμοποιείται εδώ για να ξεκινήσει η αντικατάσταση από τη θέση 1 αυτής της συμβολοσειράς. Τέλος, έχουμε αναθέσει αυτή τη νέα συμβολοσειρά κειμένου στο updated_str και με ένα πλαίσιο μηνυμάτων ( MsgBox ) θα δούμε το αποτέλεσμα.
➤ Τύπος F5 .
Τότε ένα πλαίσιο μηνυμάτων θα εμφανιστεί η νέα συμβολοσειρά κειμένου με το αντικατασταθέν κείμενο Ποδήλατα .
➤ Για να κάνετε τη διαδικασία αντικατάστασης από τη δεύτερη περίπτωση του Αυτοκίνητα χρησιμοποιήστε τον ακόλουθο κώδικα.
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub
Εδώ, χρησιμοποιήσαμε την αρχική θέση ως 14 επειδή θέλουμε να έχουμε το μέρος της συμβολοσειράς μετά το Εκατό αυτοκίνητα και αντικαταστήστε το Αυτοκίνητα εδώ.
➤ Μετά τρέχει τον κώδικα, θα έχουμε τα εξής πλαίσιο μηνυμάτων με το συμβολοσειρά κειμένου ξεκινώντας από το κείμενο Πενήντα και με Ποδήλατα στη θέση του Αυτοκίνητα .
➤ Για να έχουμε μόνο το τελευταίο τμήμα αυτής της συμβολοσειράς εφαρμόζουμε τον ακόλουθο κώδικα.
Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub
Εδώ, χρησιμοποιήσαμε την αρχική θέση ως 25 επειδή θέλουμε να έχουμε το μέρος της συμβολοσειράς μετά το Πενήντα αυτοκίνητα και αντικαταστήστε το Αυτοκίνητα με Ποδήλατα εδώ.
Τέλος, θα έχουμε ένα πλαίσιο μηνυμάτων με το επιθυμητό μέρος της συμβολοσειράς να έχει την αντικατάσταση με Ποδήλατα .
Διαβάστε περισσότερα: Excel VBA: Αντικατάσταση χαρακτήρα σε συμβολοσειρά με βάση τη θέση (4 αποτελεσματικοί τρόποι)
Μέθοδος-02: Αντικατάσταση κειμένου για την n-οστή εμφάνιση μιας τυχαίας συμβολοσειράς χρησιμοποιώντας το Excel VBA
Σε αυτή την ενότητα, θα αντικαταστήσουμε ένα κείμενο σε μια τυχαία συμβολοσειρά για διαφορετικούς αριθμούς εμφανίσεων με τη βοήθεια ενός VBA κωδικός.
Βήματα :
➤ Follow Βήμα-01 του Μέθοδος-1 .
➤ Πληκτρολογήστε τον ακόλουθο κωδικό.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub
Εδώ, έχουμε δηλώσει full_txt_str και updated_str ως Συμβολοσειρά και στη συνέχεια ανατέθηκε full_txt_str σε μια τυχαία συμβολοσειρά κειμένου- "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" . Μετά από αυτό, το Λειτουργία REPLACE χρησιμοποιείται για να αντικαταστήσει το Αυτοκίνητα μέρος αυτής της τυχαίας συμβολοσειράς με Ποδήλατα , 1 χρησιμοποιείται εδώ για να ξεκινήσει η αντικατάσταση από τη θέση 1 αυτής της συμβολοσειράς, και το τελικό 1 είναι για την καταμέτρηση του αριθμού των εμφανίσεων. Με τη χρήση του 1 ως τον αριθμό μέτρησης ορίζουμε την αντικατάσταση του πρώτου Αυτοκίνητα Τέλος, έχουμε εκχωρήσει αυτό το νέο αλφαριθμητικό κειμένου στο updated_str και με ένα πλαίσιο μηνυμάτων ( MsgBox ) θα δούμε το αποτέλεσμα.
➤ Τύπος F5 .
Στη συνέχεια, μια πλαίσιο μηνυμάτων θα εμφανιστεί με το νέο κείμενο Ποδήλατα στο πρώτη θέση του Αυτοκίνητα μόνο.
➤ Για την αντικατάσταση των δύο πρώτων περιπτώσεων του Αυτοκίνητα με Ποδήλατα χρησιμοποιήστε τον ακόλουθο κώδικα.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub
Ορίστε, 2 χρησιμοποιείται ως ο αριθμός μέτρησης για την αντικατάσταση των δύο πρώτων περιπτώσεων του Αυτοκίνητα με Ποδήλατα .
Μετά την εκτέλεση του κώδικα, θα έχετε την αντικατάσταση των δύο πρώτων κειμένων Αυτοκίνητα με Ποδήλατα .
➤ Εφαρμόστε τον ακόλουθο κώδικα για να αντικαταστήσετε όλες τις περιπτώσεις του κειμένου Αυτοκίνητα .
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub
Εδώ, το τελευταίο όρισμα της εντολής Λειτουργία REPLACE είναι 3 ο οποίος είναι ο αριθμός καταμέτρησης που υποδηλώνει την αντικατάσταση όλων των Αυτοκίνητα με Ποδήλατα στη συμβολοσειρά κειμένου.
➤ Τύπος F5 .
Στη συνέχεια, θα έχουμε τα εξής πλαίσιο μηνυμάτων με το κείμενο που αντικαταστάθηκε Ποδήλατα στη συμβολοσειρά.
Παρόμοιες αναγνώσεις
- Πώς να αντικαταστήσετε κείμενο με επιστροφή μεταφοράς στο Excel (4 ομαλές προσεγγίσεις)
- Excel VBA: Πώς να βρείτε και να αντικαταστήσετε κείμενο σε έγγραφο του Word
- Πώς να αντικαταστήσετε κείμενο μετά από συγκεκριμένο χαρακτήρα στο Excel (3 μέθοδοι)
- Αντικατάσταση κειμένου ενός κελιού με βάση την κατάσταση στο Excel (5 εύκολες μέθοδοι)
Μέθοδος-03: Αντικατάσταση κειμένου σε τυχαίο αλφαριθμητικό με InputBox
Εδώ, θα αντικαταστήσουμε ένα συγκεκριμένο κείμενο μιας τυχαίας συμβολοσειράς με ένα κείμενο το οποίο θα οριστεί από έναν χρήστη με τη βοήθεια της εντολής Λειτουργία InputBox της VBA .
Βήματα :
➤ Follow Βήμα-01 του Μέθοδος-1 .
➤ Πληκτρολογήστε τον ακόλουθο κωδικό.
Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" new_txt = InputBox("Γράψτε το νέο κείμενο προς αντικατάσταση") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub
Εδώ, έχουμε δηλώσει full_txt_str , new_txt , και updated_str ως Συμβολοσειρά και στη συνέχεια ανατέθηκε full_txt_str σε μια τυχαία συμβολοσειρά κειμένου- "Εκατό αυτοκίνητα Πενήντα αυτοκίνητα Δέκα αυτοκίνητα" . Για να έχετε την καθορισμένη από το χρήστη εισαγωγή ως το κείμενο που θα αντικατασταθεί με το Αυτοκίνητα στην τυχαία συμβολοσειρά, χρησιμοποιήσαμε το Λειτουργία InputBox και στη συνέχεια ανέθεσε αυτή την τιμή στο new_txt . Τότε το Λειτουργία REPLACE χρησιμοποιείται για να αντικαταστήσει το Αυτοκίνητα μέρος αυτής της τυχαίας συμβολοσειράς με new_txt Τέλος, έχουμε εκχωρήσει αυτό το νέο αλφαριθμητικό κειμένου στο updated_str και με ένα πλαίσιο μηνυμάτων ( MsgBox ) θα δούμε το αποτέλεσμα.
➤ Τύπος F5 .
Μετά από αυτό, ένα Πλαίσιο εισαγωγής θα εμφανιστεί το παράθυρο όπου μπορείτε να εισαγάγετε οποιοδήποτε τμήμα κειμένου θέλετε να υπάρχει στη νέα συμβολοσειρά.
➤ Τύπος Ποδήλατα ή οποιοδήποτε άλλο κείμενο θέλετε και στη συνέχεια πατήστε OK .
Τέλος, θα έχετε το ακόλουθο αποτέλεσμα με τη νέα συμβολοσειρά κειμένου να έχει νέο κείμενο Ποδήλατα στη θέση του Αυτοκίνητα .
Διαβάστε περισσότερα: Πώς να αντικαταστήσετε κείμενο σε τύπο του Excel (7 εύκολοι τρόποι)
Μέθοδος-04: Αντικατάσταση κειμένου σε μια σειρά συμβολοσειρών με το Excel VBA
Εδώ, θα αντικαταστήσουμε το gmail μέρος των αναγνωριστικών email με τα domains στον κατάλογο Νέος τομέας και για να συσσωρεύσουμε τα νέα αναγνωριστικά ηλεκτρονικού ταχυδρομείου προσθέσαμε μια νέα στήλη, Τελικό Email Id .
Βήματα :
➤ Follow Βήμα-01 του Μέθοδος-1 .
➤ Πληκτρολογήστε τον ακόλουθο κωδικό.
Sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub
Εδώ, χρησιμοποιήσαμε το Βρόχος FOR για να εκτελέσετε τη λειτουργία από Σειρά 4 στο Σειρά 13 Με τη βοήθεια του IF-THEN δήλωση, έχουμε ελέγξει αν τα email ids των Στήλη Δ περιέχουν "gmail" ή όχι, και για την εκπλήρωση αυτού του κριτηρίου η "gmail" τμήμα των αναγνωριστικών email θα αντικατασταθεί με τα νέα domains των Στήλη Ε για να δημιουργήσετε τα νέα ids στο Στήλη ΣΤ . Διαφορετικά θα έχετε κενό στα αντίστοιχα κελιά του Στήλη ΣΤ .
➤ Τύπος F5 .
Στη συνέχεια, θα έχετε τα νέα αναγνωριστικά email στο αρχείο Τελικό Email Id στήλη.
Διαβάστε περισσότερα: Excel VBA για την εύρεση και αντικατάσταση κειμένου σε μια στήλη (2 παραδείγματα)
Μέθοδος-05: Αντικατάσταση κειμένου σε ένα εύρος συμβολοσειρών με την εισαγωγή του χρήστη για την εύρεση κειμένου
Μπορείτε να αντικαταστήσετε τα ακόλουθα αναγνωριστικά email με τα νέα domains και να δηλώσετε τι θα αντικαταστήσετε στα προηγούμενα αναγνωριστικά.
Βήματα :
➤ Follow Βήμα-01 του Μέθοδος-1 .
➤ Πληκτρολογήστε τον ακόλουθο κωδικό.
Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Enter the string to be replaced") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub
Εδώ, έχουμε ορίσει partial_text ως Συμβολοσειρά και στη συνέχεια το εκχωρήσαμε σε μια συμβολοσειρά που θα δοθεί από έναν χρήστη μέσω του Πλαίσιο εισαγωγής .
Στη συνέχεια, χρησιμοποιήσαμε το Βρόχος FOR για να εκτελέσετε τη λειτουργία από Σειρά 4 στο Σειρά 13 , και χρησιμοποιώντας το IF-THEN δήλωση, ελέγξαμε αν τα email ids των Στήλη Δ περιέχουν "gmail" ή όχι. Και για την εκπλήρωση αυτού του κριτηρίου η "gmail" τμήμα των αναγνωριστικών email θα αντικατασταθεί με τα νέα domains των Στήλη Ε για να δημιουργήσετε τα νέα ids στο Στήλη ΣΤ . Διαφορετικά θα έχετε κενό στα αντίστοιχα κελιά του Στήλη ΣΤ .
➤ Τύπος F5 .
Μετά από αυτό, θα έχετε ένα Πλαίσιο εισαγωγής όπου πρέπει να πληκτρολογήσετε το κείμενο που θέλετε να αναζητήσετε στο εύρος των email ids (εδώ έχουμε εισάγει gmail ) και στη συνέχεια πατήστε OK .
Τέλος, έχουμε τα ενημερωμένα αναγνωριστικά ηλεκτρονικού ταχυδρομείου μας στο αρχείο Τελικό Email Id στήλη.
Διαβάστε περισσότερα: Εύρεση και αντικατάσταση κειμένου σε μια περιοχή με το Excel VBA (μακροεντολή και φόρμα χρήστη)
Τμήμα πρακτικής
Για να εξασκηθείτε μόνοι σας, σας παρέχουμε ένα Πρακτική τμήμα όπως παρακάτω σε ένα φύλλο με όνομα Πρακτική . Παρακαλώ κάντε το μόνοι σας.
Συμπέρασμα
Σε αυτό το άρθρο, προσπαθήσαμε να καλύψουμε τους τρόπους αντικατάστασης κειμένου σε μια συμβολοσειρά χρησιμοποιώντας το Excel VBA Αν έχετε οποιεσδήποτε προτάσεις ή ερωτήσεις, μη διστάσετε να τις μοιραστείτε στο τμήμα σχολίων.