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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κώδικας:

Sub Replace_Example () End Sub

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

Κώδικας:

Sub Replace_Example () Dim NewString ως συμβολοσειρά End Sub

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

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

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

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

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

Κώδικας:

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

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

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

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

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

Κώδικας:

Sub Replace_Example1() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString) MsgBox NewString End Sub

In the above code, I have declared an extra three variables.

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

For these variables, I have assigned values. Instead of supplying the Expression String, Find String, and Replace String, we will supply only variable to the Replace function.

This code also gives the same result, but the only difference is we have used variables instead of direct supply of values to the function.

Example #3

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

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

ενδιαφέροντα άρθρα...