Оглавление
Если вы ищете способы заменить текст в строке использование 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 = "Hundred Cars Fifty Cars Ten Cars" 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 = "Hundred Cars Fifty Cars Ten Cars" 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 = "Hundred Cars Fifty Cars Ten Cars" 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 = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 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 = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub
Вот, 2 используется в качестве счетного числа для замены первых двух экземпляров Автомобили с Велосипеды .
После выполнения кода вы получите замену первых двух текстов Автомобили с Велосипеды .
➤ Примените следующий код для замены всех экземпляров текста Автомобили .
Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 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 = "Hundred Cars Fifty Cars Ten Cars" new_txt = InputBox("Write down new text to replace") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub
Здесь мы объявили full_txt_str , новый_текст и updated_str в качестве Строка и затем назначил full_txt_str в случайную текстовую строку - "Сто автомобилей Пятьдесят автомобилей Десять автомобилей" Чтобы пользовательский ввод стал текстом, который будет заменен на Автомобили в случайной строке, мы использовали Функция InputBox и затем присвоил это значение новый_текст . Тогда функция REPLACE используется для замены Автомобили часть этой случайной строки с новый_текст Наконец, мы назначили эту новую текстовую строку в updated_str и с полем для сообщений ( MsgBox ) мы увидим результат.
➤ Нажмите F5 .
После этого Блок ввода появится окно, где вы можете ввести любой фрагмент текста, который вы хотите иметь в новой строке.
➤ Тип Велосипеды или любой другой текст, который вы хотите, а затем нажмите OK .
В итоге вы получите следующий результат с новой текстовой строкой, имеющей новый текст Велосипеды в положении Автомобили .
Подробнее: Как заменить текст в формуле 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 С помощью IF-THEN оператора, мы проверили, что идентификаторы электронной почты из Колонка 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
Здесь мы определили частичный_текст как Строка и затем присвоил его строке, которая будет передана пользователем через Блок ввода .
После этого мы использовали цикл FOR для выполнения операции из Ряд 4 на Ряд 13 , и используя IF-THEN оператора, мы проверили, что идентификаторы электронной почты из Колонка D содержать "gmail" или нет. И для выполнения этого критерия необходимо "gmail" часть идентификаторов электронной почты будет заменена новыми доменами Колонка E для создания новых идентификаторов в Колонка F В противном случае у вас будет пустота в соответствующих ячейках Колонка F .
➤ Нажмите F5 .
После этого у вас будет Блок ввода где нужно ввести текст, который вы хотите искать в диапазоне почтовых идентификаторов (здесь мы ввели gmail ), а затем нажмите OK .
Наконец, мы получаем наши обновленные идентификаторы электронной почты в Окончательный адрес электронной почты колонна.
Подробнее: Поиск и замена текста в диапазоне с помощью Excel VBA (макрос и пользовательская форма)
Практическая секция
Для самостоятельного выполнения практики мы предоставили Практика раздел, как показано ниже, в листе с именем Практика Пожалуйста, сделайте это сами.
Заключение
В этой статье мы постарались рассказать о способах замены текста в строке с помощью Excel VBA Надеюсь, вы найдете его полезным. Если у вас есть предложения или вопросы, не стесняйтесь поделиться ими в разделе комментариев.