Αντικατάσταση συμβολοσειράς VBA | Πώς να αντικαταστήσετε το κείμενο σε συμβολοσειρά χρησιμοποιώντας το VBA;

Αντικατάσταση συμβολοσειράς Excel VBA

Το Replace είναι τόσο η συνάρτηση φύλλου εργασίας όσο και η λειτουργία VBA. Αυτή η λειτουργία μας βοηθά να αντικαταστήσουμε τη συγκεκριμένη λέξη από τη συμβολοσειρά με μια άλλη συμβολοσειρά. Λειτουργεί παρόμοια με τη συνάρτηση υποκατάστασης στο VBA.

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

Λοιπόν, πώς αντικαθιστούμε μια λέξη στη συμβολοσειρά με μια άλλη λέξη; Για παράδειγμα, εάν η συμβολοσειρά είναι "Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία στην Ασιατική Χώρα", από αυτήν τη συμβολοσειρά πρέπει να αντικαταστήσουμε τη λέξη "Ινδία" και να αλλάξουμε σε "Bharath".

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

Αντικαταστήστε τη λειτουργία

  • Έκφραση: Αυτό δεν είναι παρά η αρχική τιμή συμβολοσειράς από την οποία προσπαθούμε να αντικαταστήσουμε κάτι με κάτι. Για παράδειγμα παρακάτω είναι η συμβολοσειρά έκφρασης - «Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία στην ασιατική χώρα»
  • Find String: Ποια είναι η συμβολοσειρά που προσπαθούμε να αντικαταστήσουμε. Για παράδειγμα, στη συμβολοσειρά Expression προσπαθούμε να αντικαταστήσουμε τη λέξη "Ινδία".
  • Αντικατάσταση συμβολοσειράς: Ποια είναι η υποκατάστατη συμβολοσειρά με την οποία αντικαθιστούμε το Find String με; Έτσι, σε αυτήν την περίπτωση, προσπαθούμε να αντικαταστήσουμε τη λέξη "Ινδία" με "Bharath".
  • [Έναρξη]: Αυτή είναι μια προαιρετική παράμετρος. Στην παραπάνω συμβολοσειρά (Έκφραση) έχουμε δύο λέξεις «Ινδία» οπότε από ποια θέση του Find String πρέπει να ξεκινήσουμε τη διαδικασία αντικατάστασης. Για παράδειγμα, αν πούμε 2, θα αρχίσει να αντικαθιστά τη λέξη «Ινδία» από τη δεύτερη θέση και μετά.
  • [Count]: Εάν η συμβολοσειρά εύρεσης εμφανίζεται πολλές φορές στην έκφραση, τότε πόσες λέξεις πρέπει να αντικαταστήσουμε.

Για παράδειγμα, εάν η λέξη "Ινδία" εμφανίζεται 5 φορές και αν δώσετε τον αριθμό ως 3 τότε θα αντικαταστήσει μόνο τις 3 πρώτες λέξεις "Ινδία".

Πώς να αντικαταστήσετε κείμενο σε συμβολοσειρά χρησιμοποιώντας VBA;

Μπορείτε να κατεβάσετε αυτό το πρότυπο VBA Replace String Excel - VBA Replace String Excel Template

Παράδειγμα # 1

Τώρα θα προσπαθήσουμε να αντικαταστήσουμε τη λέξη "Ινδία" με "Bharath" από την παρακάτω τιμή συμβολοσειράς.

«Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία στην ασιατική χώρα»

Αρχικά, ξεκινήστε τη διαδικασία μακροεντολής excel τώρα.

Κώδικας:

 Sub Replace_Example () End Sub 

Ορίστε τη μεταβλητή VBA ως συμβολοσειρά.

Κώδικας:

 Sub Replace_Example () Dim NewString ως string Sub Sub 

Σε αυτήν τη μεταβλητή, θα δείξουμε νέα τιμή συμβολοσειράς μετά την αντικατάσταση της λέξης "Ινδία" με "Bharath". Για αυτήν τη μεταβλητή, ανοίξτε τη λειτουργία Αντικατάσταση.

Το πρώτο επιχείρημα αυτής της συνάρτησης είναι «Έκφραση» δηλαδή από ποια συμβολοσειρά προσπαθούμε να αντικαταστήσουμε μια λέξη, οπότε αντιγράψτε και επικολλήστε τη συμβολοσειρά «Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία στην Ασιατική Χώρα».

Το επόμενο επιχείρημα είναι "Εύρεση συμβολοσειράς" δηλαδή ποια λέξη πρέπει να αντικαταστήσουμε, δηλαδή "Ινδία".

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

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

Κώδικας:

 Sub Replace_Example () Dim NewString As String NewString = Replace ("Η Ινδία είναι αναπτυσσόμενη χώρα και η Ινδία είναι η ασιατική χώρα", "Ινδία", "Bharath") MsgBox NewString End Sub 

Ας εκτελέσουμε τον κώδικα χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα και δούμε το νέο αποτέλεσμα συμβολοσειράς.

Εντάξει, δείτε το παραπάνω αποτέλεσμα όπου κι αν είχαμε τη λέξη «Ινδία» αντικαταστάθηκε με τη λέξη «Μπάραθ».

Παράδειγμα # 2

Τώρα θα δούμε πώς να χρησιμοποιούμε τον ίδιο κώδικα με μεταβλητές. Κοιτάξτε τον παρακάτω κώδικα.

Κώδικας:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία είναι η ασιατική χώρα" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

Στον παραπάνω κώδικα, έχω δηλώσει τρεις επιπλέον μεταβλητές.

 Dim MyString As String Dim FindString As String Dim ReplaceString As String 

Για αυτές τις μεταβλητές έχω εκχωρήσει τιμές, αντί να παρέχουμε το String Expression, Find String και Replace String , θα παρέχουμε μόνο μεταβλητή στη συνάρτηση Replace.

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

Παράδειγμα # 3

Ας υποθέσουμε ότι θέλετε να αντικαταστήσετε τη λέξη "Ινδία" μόνο από τη δεύτερη θέση, τότε πρέπει να χρησιμοποιήσουμε την παράμετρο λειτουργίας Αντικατάσταση ["Έναρξη"]. Ανατρέξτε στον παρακάτω κώδικα για τις πληροφορίες σας.

Κώδικας:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία είναι η ασιατική χώρα" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Έναρξη: = 34) MsgBox NewString End Sub 

Μόνο ένα επιπλέον πράγμα που έχουμε προσθέσει από τον προηγούμενο κώδικα είναι η παράμετρος "Έναρξη" ως 34. Τώρα εκτελέστε τον κώδικα και δείτε το αποτέλεσμα.

Τώρα μπορούμε να δούμε μόνο συμβολοσειρά μετά τον 34ο χαρακτήρα της συμβολοσειράς με το "Ινδία" αντικαθιστώντας με το "Bharath".

Παράδειγμα # 4

Τώρα για παράδειγμα, εάν θέλουμε να αντικαταστήσουμε μόνο την πρώτη εμφάνιση της λέξης "Ινδία" σε "Bharath", τότε πρέπει να χρησιμοποιήσουμε την παράμετρο ["Count"] της συνάρτησης Replace.

Παρακάτω είναι ο κωδικός για εσάς.

Κώδικας:

 Sub Replace_Example3 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Η Ινδία είναι μια αναπτυσσόμενη χώρα και η Ινδία είναι η ασιατική χώρα" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Count: = 1) MsgBox NewString End Sub 

Εκτελέστε τον κωδικό χειροκίνητα ή μέσω του πλήκτρου F5 και δείτε το αποτέλεσμα.

Όπως βλέπετε παραπάνω, έχει αντικαταστήσει μόνο την πρώτη εμφάνιση της λέξης "Ινδία" σε "Bharath" και η δεύτερη περίπτωση παραμένει η ίδια.

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

  • Το Replace είναι μια οικογένεια λειτουργιών συμβολοσειρών στο VBA.
  • Στο VBA, η συνάρτηση αντικατάστασης αντικαθιστά όλες τις παρεχόμενες λέξεις με αντικατασταθείσα συμβολοσειρά εάν δεν έχει καθοριστεί η παράμετρος μέτρησης
  • Η παράμετρος έναρξης θα διαγράψει τον αριθμό των χαρακτήρων που παρέχονται και θα δείξει το υπόλοιπο αποτέλεσμα.

$config[zx-auto] not found$config[zx-overlay] not found