Как скопировать исходное форматирование ячейки поиска при использовании Vlookup в Excel?
В предыдущих статьях мы говорили о сохранении цвета фона при значениях vlookup в Excel. В этой статье мы собираемся представить метод копирования всего форматирования ячеек полученной ячейки при выполнении Vlookup в Excel. Пожалуйста, сделайте следующее.
Копирование исходного форматирования при использовании Vlookup в Excel с пользовательской функцией
Копирование исходного форматирования при использовании Vlookup в Excel с пользовательской функцией
Предположим, у вас есть таблица, как показано на скриншоте ниже. Теперь вам нужно проверить, находится ли указанное значение (в столбце E) в столбце A, и вернуть соответствующее значение с форматированием в столбце C. Для этого сделайте следующее.
1. На листе, содержащем значение, которое вы хотите просмотреть, щелкните правой кнопкой мыши вкладку листа и выберите Просмотреть код из контекстного меню. Смотрите скриншот:
2. В дебюте Microsoft Visual Basic для приложений окно, скопируйте ниже код VBA в окно кода.
Код VBA 1: Vlookup и возвращаемое значение с форматированием
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: Vlookup и возвращаемое значение с форматированием
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 коробка в Ссылки - VBAProject диалоговое окно. Смотрите скриншот:
5. нажмите другой + Q ключи для выхода из Microsoft Visual Basic для приложений окно.
6. Выберите пустую ячейку рядом с поисковым значением и введите формулу. =LookupKeepFormat(E2,$A$1:$C$8,3) в Панель формул, а затем нажмите Enter .
Внимание: В формуле E2 содержит значение, которое вы будете искать, 1 австралийский доллар: 8 канадских долларов это диапазон таблицы, а число 3 означает, что соответствующее значение, которое вы вернете, находится в третьем столбце таблицы. Пожалуйста, измените их по своему усмотрению.
7. Продолжайте выбирать первую ячейку результата, а затем перетащите маркер заполнения вниз, чтобы получить все результаты вместе с их форматированием, как показано на скриншоте ниже.
Статьи по теме:
- Как vlookup и вернуть цвет фона вместе со значением поиска в Excel?
- Как использовать vlookup и формат даты возврата вместо числа в Excel?
- Как использовать vlookup и суммирование в Excel?
- Как vlookup вернуть значение в соседней или следующей ячейке в Excel?
- Как получить значение vlookup и вернуть истину или ложь / да или нет в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!






























