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

Як знайти та замінити текст, а потім зберегти форматування в Excel?

doc знайти замінити зберегти формат 1
doc знайти замінити зберегти формат 2
Функція пошуку та заміни є потужною та корисною, коли нам потрібно знайти конкретне значення та замінити його іншим. Але якщо є ряд комірок, і деякі комірки містять різні значення форматування. У цьому випадку пошук та заміна значення за допомогою функції Знайти та Замінити порушить форматування значень у клітинках, як показано на знімку екрана, як ми можемо зберегти форматування значень у кожній комірці під час пошуку та заміни в Excel?

Знайдіть і замініть форматування збереження на макрокод

стрілка синя права міхур Знайдіть і замініть форматування збереження на макрокод

Інших методів не існує, але макрокод може допомогти вам знайти та замінити текст та зберегти форматування.

1. прес Alt + F11 ключі, щоб відкрити Microsoft Visual Basic для програми вікна.

2. клацання Insert > Модуліта вставте нижче код у сценарій.

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

 

doc знайти замінити зберегти формат 5

3. прес F5 клавіша, вискакує діалогове вікно для вибору діапазону для пошуку та заміни, див. знімок екрана:
doc знайти замінити зберегти формат 6

4. Клацніть OK, і конкретний рядок у вибраній комірці буде замінено на інший і збереже форматування.
doc знайти замінити зберегти формат 4

Чайові: У коді,  KK - рядок, який ви хочете знайти, і Кутулс це рядок, яким ви хочете замінити, ви можете змінювати їх, як вам потрібно.


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (5)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Я спробував ваше рішення для клітинки, яка має понад 255 символів, і нічого не змінилося. Чи є обхідний шлях для цього випадку?
Цей коментар був мінімізований модератором на сайті
Я отримую синтаксичну помилку у VBA
Цей коментар був мінімізований модератором на сайті
Те саме питання, що й у Джона Бірка, мені потрібен обхідний шлях із клітинками, які мають більше 255 знаків.
Цей коментар був мінімізований модератором на сайті
Метод працює лише тоді, коли символи менше 255 цифр.
Цей коментар був мінімізований модератором на сайті
Чи можете ви уточнити, чи є рішення, яке працює в клітинках із понад 255 символами, чи це обмеження Excel? Чи підтримує ваша надбудова клітинки з більш ніж 255 символами, які містять форматування?
There are no comments posted here yet

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL