Функція заміни VBA - Замінити рядок

Цей підручник покаже, як використовувати функцію «Замінити VBA» для заміни рядків тексту.

Замінити функцію

Функція заміни VBA повертає рядок із замінами. За допомогою необов'язкових параметрів новий рядок може починатися з позиції, заданої початком, і закінчуватися в кінці вихідного рядка.

VBA Замінити Замінити підрядок

Функцію заміни VBA можна використовувати для заміни будь -якої знайденої підрядка, у кожній її частині.

12345678910111213141516 Sub ReplaceExample_1 ()MsgBox Замінити ("ABCABCABC", "A", "!")"Результат:"! BC! BC! BC "MsgBox Замінити ("мені подобається рожевий, червоний і чорний", "рожевий", "фіолетовий")Результат: "Мені подобається фіолетовий, червоний і чорний"MsgBox Замінити ("A, B, C, A, B, C, A, B, C", ",", ",")Результат: "ABCABCABC"MsgBox Замінити ("ABCABCABC", "ABC", "!")"Результат:" !!! "MsgBox Замінити ("ABCABCABC", "ABc", "!")Результат: "ABCABCABC"MsgBox Замінити ("ABCABCABC", "ZBC", "!")Результат: "ABCABCABC"End Sub

VBA Замінити вихідне положення

Функцію заміни VBA можна використовувати для заміни будь -якої знайденої підрядка, у кожній її частині. Якщо ми призначимо початкову позицію, результат буде частиною вихідного рядка після цієї вихідної точки.

12345678910111213 Sub ReplaceExample_2 ()MsgBox Replace ("ABCABCABC", "A", "123") "Результат:" 123BC123BC123BC "MsgBox Замінити ("ABCABCABC", "A", "123", 2) "Результат:" BC123BC123BC "MsgBox Замінити ("ABCABCABC", "A", "123", 7) "Результат:" 123BC "MsgBox Замінити ("ABCABCABC", "A", "123", 8) "Результат:" BC "MsgBox Replace ("ABCABCABC", "ABC", "!@") 'Результат: "!@!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 2) "Результат:" BC!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 6) "Результат:" C!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 7) "Результат:"!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 8) "Результат:" BC "End Sub

VBA Замінити лише кілька випадків

Функцію заміни VBA можна використовувати для заміни будь -якої знайденої підрядка, у кожній її частині. Ми можемо за бажанням вирішити, скільки входів слід замінити.

123456789101112 Sub ReplaceExample_3 ()MsgBox Replace ("ABCABCABC", "A", "12") "Результат:" 12BC12BC12BC "MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Результат: "12BCABCABC"MsgBox Замінити ("ABCABCABC", "A", "12",, 2) "Результат:" 12BC12BCABC "MsgBox Replace ("ABCABCABC", "A", "12",, 3) "Результат:" 12BC12BC12BC "MsgBox Replace ("ABCABCABC", "A", "12",, 5) "Результат:" 12BC12BC12BC "MsgBox Замінити ("ABCABCABC", "A", "12", 3, 1)Результат: "C12BCABC"«Ми замінили A на 12, 1 раз, починаючи з позиції 3 вихідного рядка.End Sub

VBA Замінити чутливість регістру

Функція заміни 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 раз.End Sub

Ви також можете виконати заміну без урахування регістру, додавши опцію Порівняти текст у верхній частині модуля:

1 Опція Порівняти текст

VBA Замінити подвійні лапки

Функція заміни VBA може замінити символ подвійних лапок, що використовується для розмежування початку та кінця рядка.

Функція VBA Chr може повертати символ з його номера в наборі символів.

1 MsgBox Chr (34) 'Результат: "

Або

1 MsgBox Chr (64) 'Результат: @

Подвійні лапки можна використовувати всередині функції VBA Replace за допомогою “” ”” або функції VBA Chr (34).

12345678910111213 Sub ReplaceExample_5 ()Dim StrEx як рядокStrEx = "AB" "AB" ""Результат MsgBox StrEx: AB "AB"MsgBox Замінити (StrEx, Chr (34), "12")Результат: AB12AB12MsgBox Замінити (StrEx, "" "", "DQ")Результат: "ABDQABDQ"End Sub

VBA Замінити лінію розриву в осередку

Функція заміни VBA може знайти спеціальний символ рядка розриву в клітинці та видалити його або замінити символом пробілу. Спеціальний символ рядка розриву можна ввести в клітинку за допомогою комбінації клавіш Alt+Enter і використовувати в коді VBA з його набором символів за допомогою функції VBA Chr (10).

1234567891011121314 Sub ReplaceExample_6 ()Dim StrEx As String 'Визначте рядкову змінну'Прочитайте значення комірки А2 на аркуші аркуша1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A2"). Value'Символ лінії розриву, введений за допомогою Alt+Enter, є Chr (10) і невидимий.'Цей рядок коду замінює цей символ пробіломStrEx = Замінити (StrEx, Chr (10), "")'Запишіть замінене значення у клітинку В2 на аркуші аркуша1ThisWorkbook.Worksheets ("Sheet1"). Діапазон ("B2"). Value = StrExEnd Sub

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave