Λειτουργία αντικατάστασης VBA - Αντικατάσταση συμβολοσειράς

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

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

Αντικατάσταση συνάρτησης

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

Αντικατάσταση υποκατάστασης VBA

Η συνάρτηση Αντικατάσταση VBA μπορεί να χρησιμοποιηθεί για να αντικαταστήσει κάθε υποσύμβολο που βρίσκεται, σε κάθε τμήμα που βρίσκεται.

12345678910111213141516 Sub ReplaceExample_1 ()Αντικατάσταση MsgBox ("ABCABCABC", "A", "!")Το αποτέλεσμα είναι: "! ​​Π.Χ.! Π.Χ.! Π.Χ."MsgBox Replace ("Μου αρέσει το ροζ, το κόκκινο και το μαύρο", "ροζ", "μοβ")Το αποτέλεσμα είναι: "Μου αρέσει το μοβ, το κόκκινο και το μαύρο"Αντικατάσταση MsgBox ("A, B, C, A, B, C, A, B, C", ",", "," "Το αποτέλεσμα είναι: "ABCABCABC"Αντικατάσταση MsgBox ("ABCABCABC", "ABC", "!")Το αποτέλεσμα είναι: "!!!"Αντικατάσταση MsgBox ("ABCABCABC", "ABc", "!")Το αποτέλεσμα είναι: "ABCABCABC"Αντικατάσταση MsgBox ("ABCABCABC", "ZBC", "!")Το αποτέλεσμα είναι: "ABCABCABC"Τέλος υπο

VBA Αντικατάσταση αρχικής θέσης

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

12345678910111213 Sub ReplaceExample_2 ()Αντικατάσταση MsgBox ("ABCABCABC", "A", "123") "Το αποτέλεσμα είναι:" 123BC123BC123BC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "123", 2) "Αποτέλεσμα είναι:" BC123BC123BC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "123", 7) "Το αποτέλεσμα είναι:" 123BC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "123", 8) "Αποτέλεσμα είναι:" π.Χ. "Αντικατάσταση MsgBox ("ABCABCABC", "ABC", "!@") "Το αποτέλεσμα είναι:"!@!@!@"Αντικατάσταση MsgBox ("ABCABCABC", "ABC", "!@", 2) "Αποτέλεσμα είναι:" BC!@!@"Αντικατάσταση MsgBox ("ABCABCABC", "ABC", "!@", 6) "Το αποτέλεσμα είναι:" C!@"Αντικατάσταση MsgBox ("ABCABCABC", "ABC", "!@", 7) "Το αποτέλεσμα είναι:"!@"Αντικατάσταση MsgBox ("ABCABCABC", "ABC", "!@", 8) "Αποτέλεσμα είναι:" π.Χ. "Τέλος υπο

VBA Αντικαταστήστε μόνο μερικά περιστατικά

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

123456789101112 Sub ReplaceExample_3 ()Αντικατάσταση MsgBox ("ABCABCABC", "A", "12") "Το αποτέλεσμα είναι:" 12BC12BC12BC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "12",, 1) "Το αποτέλεσμα είναι:" 12BCABCABC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "12",, 2) "Το αποτέλεσμα είναι:" 12BC12BCABC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "12",, 3) "Το αποτέλεσμα είναι:" 12BC12BC12BC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "12",, 5) "Αποτέλεσμα είναι:" 12BC12BC12BC "Αντικατάσταση MsgBox ("ABCABCABC", "A", "12", 3, 1)'Αποτέλεσμα είναι: "C12BCABC"«Αντικαταστήσαμε το Α με 12, 1 φορά ξεκινώντας από τη θέση 3 της αρχικής συμβολοσειράς.Τέλος υπο

VBA Replace Case Sensitivity

Η λειτουργία αντικατάστασης VBA από προεπιλογή είναι διάκριση πεζών -κεφαλαίων. Μπορείτε να αλλάξετε αυτήν τη συμπεριφορά σε αδιάκριτα πεζά, χρησιμοποιώντας μια προαιρετική παράμετρο (vbTextCompare). Σε αυτήν την περίπτωση, πρέπει επίσης να ορίσετε την αρχική θέση της αναζήτησης.

12345678910111213 Sub ReplaceExample_4 ()Αντικατάσταση MsgBox ("ABcABCABc", "ABc", "12")Το αποτέλεσμα είναι: "12ABC12"Αντικατάσταση MsgBox ("ABcABCABc", "ABc", "12",,,, vbTextCompare)'Αποτέλεσμα είναι: "121212"«Όταν χρησιμοποιούμε το vbTextCompare, πρέπει να προσθέσουμε τα άλλα 2 προαιρετικά ορίσματα:«ξεκινήστε και μετρήστεΑντικατάσταση MsgBox ("ABcABCABcABc", "ABc", "12", 3, 1)'Αποτέλεσμα είναι: "cABC12ABc"«Ξεκίνησε από τη θέση 3 και αντικατέστησε το ABC μόνο 1 φορά.Τέλος υπο

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

1 Επιλογή Σύγκριση κειμένου

VBA Αντικαταστήστε τα Διπλά Αποσπάσματα

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

Η συνάρτηση VBA Chr μπορεί να επιστρέψει έναν χαρακτήρα από τον αριθμό του στο σύνολο χαρακτήρων.

1 MsgBox Chr (34) 'Το αποτέλεσμα είναι: "

Ή

1 MsgBox Chr (64) 'Αποτέλεσμα είναι: @

Διπλά εισαγωγικά μπορούν να χρησιμοποιηθούν μέσα στη λειτουργία VBA Αντικατάσταση χρησιμοποιώντας τη συνάρτηση "" "ή τη συνάρτηση VBA Chr (34).

12345678910111213 Sub ReplaceExample_5 ()Dim StrEx As StringStrEx = "AB" "AB" ""Το αποτέλεσμα του MsgBox StrEx είναι: AB "AB"Αντικατάσταση MsgBox (StrEx, Chr (34), "12")Το αποτέλεσμα είναι: AB12AB12Αντικατάσταση MsgBox (StrEx, "" "", "DQ")Το αποτέλεσμα είναι: "ABDQABDQ"Τέλος υπο

VBA Αντικαταστήστε τη γραμμή διακοπής στο κελί

Η συνάρτηση VBA Replace μπορεί να βρει τον ειδικό χαρακτήρα της γραμμής διακοπής σε ένα κελί και να τον αφαιρέσει ή να τον αντικαταστήσει με έναν κενό χαρακτήρα. Ο ειδικός χαρακτήρας της γραμμής διακοπής μπορεί να εισαχθεί σε ένα κελί χρησιμοποιώντας τη συντόμευση πληκτρολογίου Alt+Enter και μπορεί να χρησιμοποιηθεί σε κώδικα VBA με τον αριθμό συνόλου χαρακτήρων του χρησιμοποιώντας τη συνάρτηση VBA Chr (10).

1234567891011121314 Sub ReplaceExample_6 ()Dim StrEx As String 'Ορίστε μια μεταβλητή συμβολοσειράς«Διαβάστε την τιμή του κελιού A2 στο φύλλο εργασίας Sheet1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A2"). Value"Ο χαρακτήρας της γραμμής διακοπής που έχει εισαχθεί με Alt+Enter είναι Chr (10) και είναι αόρατος.«Αυτή η γραμμή κώδικα αντικαθιστά αυτόν τον χαρακτήρα με κενόStrEx = Αντικατάσταση (StrEx, Chr (10), "")«Γράψτε την αντικατασταθείσα τιμή στο κελί Β2 στο φύλλο εργασίας Φύλλο 1ThisWorkbook.Worksheets ("Sheet1"). Range ("B2"). Value = StrExΤέλος υπο

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave