Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как скопировать форматирование исходной ячейки при использовании Vlookup в Excel?

Author Siluvia Last modified

В предыдущих статьях мы уже говорили о сохранении цвета фона при поиске значений с помощью функции vlookup в Excel. В этой статье мы представим метод копирования всего форматирования ячейки результата при выполнении Vlookup в Excel. Пожалуйста, следуйте инструкциям ниже.

Копирование форматирования источника при использовании Vlookup в Excel с помощью пользовательской функции


Копирование форматирования источника при использовании Vlookup в Excel с помощью пользовательской функции

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

vlookup keep cell formatting

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

right-click the sheet tab and select View Code

2. В открывшемся окне Microsoft Visual Basic for Applications, пожалуйста, скопируйте приведенный ниже код 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 Script Runtime в диалоговом окне Ссылки – VBAProject. См. скриншот:

Tools > References, then, check the Microsoft Script Runtime box

5. Нажмите клавиши Alt + Q, чтобы выйти из окна Microsoft Visual Basic for Applications.

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

apply a formula to get the first result

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

7. Продолжайте выделять первую ячейку с результатом, затем перетащите маркер заполнения вниз, чтобы получить все результаты вместе с их форматированием, как показано на скриншоте ниже.

drag and fill the formula to other cells

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Связанные статьи:

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

Повысьте свои навыки работы в 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 Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек