Зміст
Якщо ви шукаєте шляхи для заміна тексту в рядку за допомогою Excel VBA Заміна певної частини тексту може заощадити багато часу на повторному введенні текстових рядків. Отже, давайте зануримося в основну частину статті, щоб дізнатися подробиці про завдання заміни.
Завантажити Робочий зошит
Заміна тексту в файлі String.xlsm5 способів заміни тексту в рядку засобами Excel VBA
У нас є наступний набір даних, що містить деякі записи про співробітників з їх електронними адресами. Наша задача - замінити старі доменні імена на нові. У наступних методах ми будемо працювати з цим набором даних разом з деякими випадковими текстовими рядками, щоб замінити потрібний текст на VBA коди.
Ми використовували Microsoft Excel 365 тут, ви можете використовувати будь-які інші версії відповідно до вашої зручності.
Метод-01: Замінити текст, починаючи з n-ї позиції випадкового рядка
Тут ми замінимо текст у випадковому текстовому рядку для різних початкових позицій.
Крок-01 :
➤ Перейдіть до розділу Розробник Вкладка>>; Код Група "А"; Visual Basic Варіант.
Після цього, на засіданні Редактор Visual Basic відкриється.
➤ Перейдіть до розділу Вставка Вкладка>>; Модуль Варіант.
Після цього було проведено Модуль буде створено.
Крок-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 код.
Кроки :
Слідкуйте за Крок-01 з Спосіб-1 .
Введіть наступний код.
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Сто машин П'ятдесят машин Десять машин" updated_str = Replace(full_txt_str, "Машини", "Велосипеди", 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, "Машини", "Велосипеди", 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, "Машини", "Велосипеди", 1, 3) MsgBox updated_str End Sub
І тут останній аргумент, який був озвучений Функція REPLACE це 3 що є лічильним числом, яке вказує на заміну всіх Автомобілі з Велосипеди у текстовому рядку.
Натисніть F5 .
Після цього ми матимемо наступне вікно повідомлення із заміненим текстом Велосипеди в рядку.
Схожі читання
- Як замінити текст на повернення каретки в Excel (4 плавних підходи)
- Excel VBA: як знайти і замінити текст у документі Word
- Як замінити текст після певного символу в Excel (3 способи)
- Заміна тексту клітинки на основі умови в Excel (5 простих способів)
Метод-03: Замінити текст у випадковому рядку на InputBox
Тут ми замінимо певний текст випадкового рядка на текст, який буде заданий користувачем за допомогою функції Функція VBA InputBox .
Кроки :
Слідкуйте за Крок-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 .
Після цього було прийнято рішення про проведення Поле вводу де ви можете ввести будь-яку частину тексту, яку ви хочете мати в новому рядку.
Тип Велосипеди або будь-який інший текст, а потім натисніть ГАРАЗД. .
Нарешті, ви отримаєте наступний результат з новим текстовим рядком з новим текстом Велосипеди на посаді Автомобілі .
Детальніше: Як замінити текст у формулі Excel (7 простих способів)
Метод-04: Заміна тексту в діапазоні рядків за допомогою Excel VBA
Тут ми замінимо gmail частина ідентифікаторів електронної пошти з доменами в зоні Новий домен а для накопичення нових адрес електронної пошти ми додали нову колонку; Остаточний ідентифікатор електронної пошти .
Кроки :
Слідкуйте за Крок-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 За допомогою ЯКЩО-ТО ми перевірили, чи були вказані електронні адреси Колонка D містити "gmail" чи ні, і за виконання цього критерію "gmail" частина ідентифікаторів електронної пошти буде замінена на нові домени Колонка E створити нові ідентифікатори в Колонка F В іншому випадку у відповідних клітинках будуть пропуски Колонка F .
Натисніть F5 .
Після цього у вас з'являться нові ідентифікатори електронної пошти в розділі Остаточний ідентифікатор електронної пошти колонка.
Читати далі: Excel VBA для пошуку та заміни тексту в стовпці (2 приклади)
Метод-05: Заміна тексту в діапазоні рядків з введенням користувачем для пошуку тексту
Ви можете замінити наступні ідентифікатори електронної пошти на нові домени та задекларувати, що замінити в попередніх ідентифікаторах, за допомогою цього методу можна використовувати вхідні дані користувача.
Кроки :
Слідкуйте за Крок-01 з Спосіб-1 .
Введіть наступний код.
Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Введіть рядок для заміни") 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 та з використанням ЯКЩО-ТО ми перевірили, чи не збігаються електронні адреси Колонка D містити "gmail" А за виконання цього критерію і буде відповідати "gmail" частина ідентифікаторів електронної пошти буде замінена на нові домени Колонка Е створити нові ідентифікатори в Колонка F В іншому випадку у відповідних клітинках будуть пропуски Колонка F .
Натисніть F5 .
Після цього у вас буде Поле вводу де потрібно ввести текст, який потрібно шукати в діапазоні ідентифікаторів електронної пошти (тут ми ввели gmail ), а потім натисніть ГАРАЗД. .
Нарешті, ми маємо оновлені ідентифікатори електронної пошти в Остаточний ідентифікатор електронної пошти колонка.
Читати далі: Пошук і заміна тексту в діапазоні за допомогою Excel VBA (макрос і UserForm)
Практична секція
Для самостійного проходження практики ми надали Практика розділ, як показано нижче, на аркуші з назвою Практика Будь ласка, зробіть це самі.
Висновок
У даній статті ми постаралися розглянути способи заміни тексту в рядку засобами Excel VBA Сподіваємось, він буде для вас корисним. Якщо у вас є пропозиції чи запитання, будь ласка, діліться ними у коментарях.