Как сохранить исходное форматирование ячейки поиска при использовании функции ВПР в Excel?
В предыдущих статьях мы уже рассказывали, как сохранить цвет фона при использовании функции ВПР в Excel. В этой статье мы покажем, как копировать всё форматирование ячейки с результатом при работе с ВПР. Выполните следующие действия.
Копирование исходного форматирования при использовании ВПР в Excel с помощью пользовательской функции
Предположим, у вас есть таблица, как на скриншоте ниже. Теперь вам нужно проверить, содержится ли указанное значение (из столбца E) в столбце A, и вернуть соответствующее значение с его форматированием в столбец C. Чтобы этого добиться, выполните следующие действия.

1. На листе, содержащем значение, которое требуется найти с помощью ВПР, щелкните правой кнопкой мыши ярлык листа и выберите в контекстном меню пункт Просмотреть код. См. снимок экрана:

2. В открывшемся окне Microsoft Visual Basic для приложений скопируйте приведённый ниже код VBA в окно кода.
Код VBA 1: ВПР и Возвращаемое значение с форматированием
Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20211203
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
Application.CutCopyMode = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Set xRg = Application.Range(xDicStr)
xRg.Copy
Range(xDic.Keys(I)).PasteSpecial xlPasteFormats
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
Application.CutCopyMode = True
End Sub
3. Затем нажмите Вставка > Модуль и скопируйте приведённый ниже код VBA 2 в окно модуля.
Код VBA 2: ВПР и Возвращаемое значение с форматированием
Public xDic As New Dictionary
'Update by Extendoffice 20211203
Function LookupKeepFormat(ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Application.ScreenUpdating = False
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepFormat = " "
xDic.Add Application.Caller.Address, " "
Else
LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address(External:=True)
End If
Application.ScreenUpdating = True
End Function 4. Нажмите Сервис > Ссылки, установите флажок напротив пункта Microsoft Script Runtime в диалоговом окне Ссылки – VBAProject. См. снимок экрана:

5. Нажмите клавиши Alt+Q, чтобы закрыть окно Microsoft Visual Basic для приложений.
6. Выберите пустую ячейку рядом со значением поиска и введите формулу =LookupKeepFormat(E2,$A$1:$C$8,3) в строку формул, затем нажмите клавишу Enter.

Примечание: в формуле E2 содержит значение для поиска, $A$1:$C$8 — диапазон таблицы, а число 3 означает, что возвращаемое значение находится в третьем столбце таблицы. При необходимости измените эти параметры.
7. Не снимая выделения с первой ячейки результата, перетащите маркер заполнения вниз, чтобы мгновенно получить все результаты вместе с их форматированием — как показано на снимке экрана ниже.


Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Связанные статьи:
- Как выполнить ВПР и вернуть цвет фона вместе со значением поиска в Excel?
- Как выполнить ВПР и получить формат даты вместо числа в Excel?
- Как использовать ВПР вместе с суммированием в Excel?
- Как выполнить ВПР, чтобы возвращаемое значение находилось в соседней или следующей ячейке в Excel?
- Как с помощью ВПР найти значение и вернуть ИСТИНА/ЛОЖЬ или ДА/НЕТ в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек