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

Как vlookup и вернуть совпадающее значение с комментарием ячейки?

Когда вы применяете функцию Vlookup для возврата совпадающего значения, она извлекает только значение без форматирования, такого как цвет заливки, шрифт или комментарий и т. Д. Но иногда вам может потребоваться vlookup и вернуть совпадающее значение, включая комментарий. чтобы получить следующий результат скриншота. Как бы вы могли решить эту задачу в Excel?

Vlookup и возврат совпадающего значения с комментарием ячейки с помощью кода VBA


Vlookup и возврат совпадающего значения с комментарием ячейки с помощью кода VBA

Приведенный ниже код VBA может помочь вам выполнить vlookup и вернуть совпадающее значение с его комментарием, пожалуйста, сделайте следующее:

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

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

Код VBA: Vlookup и возврат соответствующего значения с комментарием ячейки:

Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .Comment Is Nothing Then
                .Comment.Delete
            End If
            If Not xCell.Comment Is Nothing Then
                .AddComment xCell.Comment.Text
            End If
        End With
    End If
End Function

3. А затем сохраните код и закройте окно кода, введите эту формулу: = vlookupcomment (H2; A2: C10,3; FALSE) в пустую ячейку, чтобы найти результат, и нажмите Enter key, совпадающее значение и комментарий возвращаются сразу, см. снимок экрана:

Внимание: В приведенной выше формуле H2 это значение поиска, которое вы хотите вернуть, соответствующее значение, A2: C10 таблица данных, которую вы хотите использовать, число 3 - это номер столбца, который содержит совпадающее значение, которое вы хотите вернуть.


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

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

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (20)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Как мне сделать то же самое, что и Hlookup вместо vlookup?

Я изменил код следующим образом:
Функция hlookupComment(LookVal As Variant, FTable As Range, Frow As Long, FType As Long) As Variant
'Обновить Extendoffice
Application.Volatile
Dim xRet As Variant может быть ошибкой
Dim xCell как диапазон
xRet = Application.Match(LookVal, FTable.Rows(1), FType)
Если IsError(xRet) Тогда
hlookupComment = "Не найдено"
Еще
Установить xCell = FTable.Rows(Frow).Cells(1)(xRet)
hlookupComment = xCell.Value
С Application.Caller
Если нет .Comment, то это ничто
.Комментарий.Удалить
End If
Если не xCell.Comment, то ничто
.AddComment xCell.Comment.Text
End If
Конец с
End If
End Function
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ, которым комментарий vlookup копирует форматирование исходного комментария? Некоторые из моих комментариев очень длинные, но комментарий, возвращаемый из vlookup, всегда имеет стандартный маленький размер, поэтому я не могу прочитать весь текст.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Карл,
Возможно, нет прямого способа решить вашу проблему, но вы можете вручную растянуть поле комментария. Или вы можете применить функцию Autofit Comment нашего Kutools for Excel, это может помочь вам настроить поле комментария в соответствии с содержимым. Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Можем ли мы использовать ячейку в столбце B (столбец порядка) в качестве комментария для ячейки в столбце C (имя). отл, комментарий для Елены 80.
Спасибо за вашу помощь.
Этот комментарий был сведен к минимуму модератором на сайте
Фрэнк
Здравствуйте,

В случае защищенной электронной таблицы, когда я открываю книгу, ячейка возвращает ошибку #ЗНАЧ!

Как мы можем решить эту проблему?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Фрэнк,
После вставки кода вы должны сохранить свою книгу в формате книги Excel с поддержкой макросов, чтобы код не потерялся.
Пожалуйста, попробуй! Благодарю вас!
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо, это полезно, и у меня есть что спросить. Он возвращается с комментарием к ячейке, но изображение (вставленное с использованием эффектов заливки) не отображается
Пожалуйста, помогите мне решить эту проблему
Этот комментарий был сведен к минимуму модератором на сайте
Шамим,
Извините за то, что нет прямого кода для решения вашей проблемы, если у кого-то есть решение, пожалуйста, прокомментируйте здесь.
Этот комментарий был сведен к минимуму модератором на сайте
Мой комментарий слишком велик для размера коробки по умолчанию. Есть ли способ увеличить размер поля комментариев или, возможно, уменьшить размер шрифта?
Этот комментарий был сведен к минимуму модератором на сайте
Если это кому-то еще нужно.


Функция VlookupComment (LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant

'Обновить Extendoffice

Application.Volatile

Dim xRet As Variant может быть ошибкой

Dim xCell как диапазон

xRet = Application.Match(LookVal, FTable.Columns(1), FType)

Если IsError(xRet) Тогда

Комментарий ВПР = "-"

Еще

Установить xCell = FTable.Columns(FColumn).Cells(1)(xRet)

Комментарий ВПР = xCell.Value

С Application.Caller

Если нет .Comment, то это ничто

.Комментарий.Удалить

End If

Если не xCell.Comment, то ничто

.AddComment xCell.Comment.Text

.Comment.Shape.ScaleWidth 2, msoFalse, msoScaleFromTopLeft

.Comment.Shape.ScaleHeight 2.5, msoFalse, msoScaleFromTopLeft

End If

Конец с

End If

End Function
Этот комментарий был сведен к минимуму модератором на сайте
Я хочу только комментарий как значение ячейки, используя Vlookup...
Этот комментарий был сведен к минимуму модератором на сайте
я могу сделать это в первый раз. но после того, как я попытаюсь использовать формулу изменения нескольких ячеек. Сейчас это не работает. после того, как я наберу vlookupcomment, ячейка станет пустой.
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Я так рад, что нашел это, дело в том, что это действительно работает с заметками, а не с комментариями. есть ли способ работать с комментариями, а не с заметками? в заметках я не могу отметить своих коллег, и я не могу ответить. большое спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Это замечательно. Но при использовании этого кода я обнаружил, что файл часто падает в Excel 365. При удалении автоматического сохранения я обнаружил, что это немного лучше. Но с несколькими пользователями в файле файл будет постоянно падать. Использует ли этот код много памяти или это проблема совместимости? Мысли? Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Не работает для меня. Я получаю #ИМЯ? ошибка, когда я использую эту формулу. Пожалуйста помоги.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, Саджад, Вы поместили код VBA из этой статьи в свою рабочую тетрадь? Пожалуйста, проверьте это. Или какую версию Excel вы используете? Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, это очень хорошая функция, но она работает для заметок, а не для комментариев (по крайней мере, так она переведена на мой родной язык). Есть ли способ изменить его с примечаний на комментарии? Кроме того, есть ли способ сохранить формат ячейки? (цвет исходной ячейки и т. д.).
Этот комментарий был сведен к минимуму модератором на сайте
у меня была такая же проблема. могу только сказать, что попробовав через vba копировать комментарии и заметки... копируются только заметки, а не комментарии (хотя смысл тот же, а функционал разный)... Заметки вроде статичного характера , в отличие от комментариев, где можно продолжать "постить" до добавления нового текста... Наверное, в этом причина....
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Фана,
Чтобы извлечь совпадающие записи с комментарием в Office 365, примените следующий код:
Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
'Updateby Extendoffice
    Application.Volatile
    Dim xRet As Variant 'could be an error
    Dim xCell As Range
    xRet = Application.Match(LookVal, FTable.Columns(1), FType)
    If IsError(xRet) Then
        VlookupComment = "Not Found"
    Else
        Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
        VlookupComment = xCell.Value
        With Application.Caller
            If Not .CommentThreaded Is Nothing Then
                .ClearComments
            End If
            If Not xCell.CommentThreaded Is Nothing Then
                .AddCommentThreaded xCell.CommentThreaded.Text
            End If
        End With
    End If
End Function


После вставки кода примените эту формулу: = vlookupcomment (H2; A2: C10,3; FALSE) так же.

Пожалуйста, попробуйте, надеюсь, это поможет вам!
Этот комментарий был сведен к минимуму модератором на сайте
ткс много. высоко ценится!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

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

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