Note: The other languages of the website are Google-translated. Back to English

Как найти и заменить текст, а затем сохранить форматирование в Excel?

документ найти заменить сохранить формат 1
документ найти заменить сохранить формат 2
Функция «Найти и заменить» является мощной и полезной, когда нам нужно найти определенное значение и заменить его другим. Но если есть диапазон ячеек, и некоторые из ячеек содержат разные значения форматирования. В этом случае поиск и замена значения с помощью функции «Найти и заменить» нарушит форматирование значений в ячейках, как показано на скриншоте ниже. Как мы можем сохранить форматирование значений в каждой ячейке при поиске и замене в Excel?

Найдите и замените сохранение форматирования с помощью кода макроса

стрелка синий правый пузырь Найдите и замените сохранение форматирования с помощью кода макроса

Других методов нет, но код макроса может помочь вам найти и заменить текст и сохранить форматирование.

1. Нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте в скрипт приведенный ниже код.

VBA: найти и заменить сохранение форматирования

Sub CharactersReplace(Rng As Range, FindText As String, ReplaceText As String, Optional MatchCase As Boolean = False)
  'UpdatebyExtendoffice20160711
    Dim I As Long
    Dim xLenFind As Long
    Dim xLenRep As Long
    Dim K As Long
    Dim xValue As String
    Dim M As Long
    Dim xCell As Range
    xLenFind = Len(FindText)
    xLenRep = Len(ReplaceText)
    If Not MatchCase Then M = 1
    For Each xCell In Rng
        If VarType(xCell) = vbString Then
            xValue = xCell.Value
            K = 0
            For I = 1 To Len(xValue)
              If StrComp(Mid$(xValue, I, xLenFind), FindText, M) = 0 Then
                xCell.Characters(I + K, xLenFind).Insert ReplaceText
                K = K + xLenRep - xLenFind
              End If
            Next
        End If
    Next
End Sub

Sub Test_CharactersReplace()
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Call CharactersReplace(xRg, "KK", "Kutools", True)
End Sub

 

документ найти заменить сохранить формат 5

3. Нажмите F5 , появится диалоговое окно для выбора диапазона для поиска и замены, см. снимок экрана:
документ найти заменить сохранить формат 6

4. Нажмите OK, и конкретная строка в выбранной ячейке будет заменена другой и сохранит форматирование.
документ найти заменить сохранить формат 4

Функции: В коде  KK это строка, которую вы хотите найти, и Кутулс - это строка, которой вы хотите заменить, вы можете изменить их по своему усмотрению.


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (5)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Я попробовал ваше решение в ячейке длиной более 255 символов, и ничего не изменилось. Есть ли обходной путь для этого случая?
Этот комментарий был сведен к минимуму модератором на сайте
Я получаю синтаксическую ошибку в VBA
Этот комментарий был сведен к минимуму модератором на сайте
Тот же вопрос, что и у Джона Бирка. Мне нужен обходной путь с ячейками, имеющими более 255 знаков.
Этот комментарий был сведен к минимуму модератором на сайте
Метод работает, только если символы меньше 255 цифр.
Этот комментарий был сведен к минимуму модератором на сайте
Можете уточнить, есть ли решение, работающее в ячейках с более чем 255 символами, или это ограничение Excel? Поддерживает ли ваша надстройка ячейки длиной более 255 символов, содержащие форматирование?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL