Как мне найти совпадения в разных диапазонах в Excel для значений в другом определяемом диапазоне

#excel #vba #range #matching

#excel #vba #диапазон #сопоставление

Вопрос:

У меня есть макрос, который просматривает ячейки в столбце для таблицы и сравнивает ее с ячейками в другом, чтобы определить значения другого столбца.

 Option Explicit

Sub Find_Matches_Descriptions()
Dim compareRange As Range
Dim toCompare As Range
Dim rFound As Range
Dim cell As Range
Dim I As Long

Call OptimizeCode_Begin

Set compareRange = Worksheets("Car").Range("C4:C100000")
Set toCompare = Worksheets("Day").Range("E2:E100000")
Set rFound = Nothing

For Each cell In toCompare
    Set rFound = compareRange.Find(cell)
    If Not rFound Is Nothing Then
        cell.Offset(, -1).Value = rFound.Offset(, 1)
        Set rFound = Nothing
    End If
Next cell

Call OptimizeCode_End

End Sub
  

Макрос выполняет поиск значений в C4: C100000 и E2: E100000, которые совпадают, а затем значения для столбца B на листе Car будут просмотрены и введены в столбец D для рабочего листа Day.

Я нашел этот макрос из другого вопроса на этом веб-сайте и немного изменил его, и он работает. Однако мне интересно, есть ли вероятность, что я смогу сравнить более двух диапазонов для сопоставления. Например, этот макрос сравнивает диапазон C4: C100000 на листе car и сравнивает диапазон E2: E100000 на листе Day и находит совпадение. Я хочу создать макрос, который не только сравнивает эти два диапазона, но и сравнивает диапазоны B4: B100000 на листе car и C2: C100000 на листе Day. Могу ли я по существу найти два совпадения, и эти два совпадения будут определять, какие значения в столбце E на рабочем листе car будут введены в столбец F для рабочего листа Day.

При необходимости запросите разъяснения.

Вот рисунок, показывающий, чего я хочу достичь

 Car worksheet

Model        Colour code     Colour description

GT-R         XBG             red
Z-Coupe      CBG             yellow
GT-R         CBG             pink
Z-Coupe      XBG             blue
GT-R         XBG             red

Day worksheet
model    Colour code     Colour description

GT-R         XBG             Red
Z-Coupe      CBG             Yellow
GT-R         CBG             Pink
Z-Coupe      XBG             Blue
GT-R         XBG             Red
GT-R         TTC             ''No match
  

Описание цвета для рабочего листа day определяется описанием цвета рабочего листа car.
Поскольку эти модели и цветовые коды для рабочего листа day имеют совпадения в рабочем листе car, описания цветов отображаются для рабочего листа day. Однако на листе автомобиля не было комбинации цветовых кодов модели GT-R и TTC, поэтому в листе дня для этой комбинации не отображается описание цвета.

Комментарии:

1. Вы можете повторить код, который вы использовали выше, для других диапазонов? Как два совпадения определяют значение в F?

2. Например, я приведу вам пример в ситуации. Допустим, у меня есть цветовой код ABC для обоих листов. Описание этого автомобиля — Platinum blue, однако в зависимости от модели автомобиля это описание может измениться. Например, давайте посмотрим на автомобили Nissan. Цветовой код «ABC» для GT-R может быть «platinium blue», но цветовой код «ABC» для Z-Coupe может быть «Red steel». Мне нужно, чтобы этот макрос соответствовал цветовым кодам и моделям для обоих листов. При совпадении будет определено соответствующее описание цвета для рабочего листа дня.

3. Я вижу. Это должно помочь xl-central.com/lookup-multiple-criteria.html Это формульный подход, но вы могли бы адаптироваться к VBA, если бы действительно захотели. Вы могли бы продолжать использовать метод поиска, но каждый раз, когда вы находили модель, вам приходилось проверять код, прежде чем просматривать описание.

4. Похоже, это не работает для меня. Мне также придется использовать еще больше критериев, чем я показал в вопросе. Макрос гораздо более интуитивно понятен для решения моей проблемы, я должен сопоставить модели Nissan, годы выпуска Nissan, цветовые коды Nissan, модели infiniti. годы выпуска infiniti и цветовые коды infiniti, чтобы найти подходящее описание цвета. Я думаю, что для определения конкретных критериев макрос может быть лучше, но, возможно, я ошибаюсь. Несмотря на это, спасибо за совет

5. Возможно, автофильтр.