如何在Excel中查找各种范围内的匹配项,以确定其他范围内的值

时间:2019-04-08 16:35:22

标签: excel vba range matching

我有一个宏,它查看表的一列中的单元格,并将其与另一个表中的单元格进行比较,以确定另一列的值。

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中搜索匹配的值,然后将查看Car工作表中B列的值并将其输入到Day工作表的D列中。

我从该网站上的另一个问题中找到了此宏,并对其进行了一些修改,然后它可以工作。但是,我想知道是否有可能我可以比较两个以上的范围来匹配。例如,此宏比较汽车工作表中的C4:C100000范围,并比较“白天”工作表中的E2:E100000范围并找到匹配项。我想制作一个不仅可以比较这两个范围的宏,而且还可以比较汽车工作表中的范围B4:B100000和日工作表中的C2:C100000。我是否可以找到两个匹配项,并且这两个匹配项将确定汽车工作表的E列中的哪些值将输入到Day工作表的F列中。

如有需要,请澄清。

这里是一个数字,显示我想要实现的目标

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

日工作表的颜色描述由汽车工作表的颜色描述确定。 由于日工作表的这些型号和颜色代码在汽车工作表中匹配,因此将显示日工作表的颜色说明。但是,汽车工作表中没有GT-R型号和TTC颜色代码组合,因此在日间工作表中没有此组合的颜色描述。

0 个答案:

没有答案