在第二个范围内查找也包含同样顺序的范围值

什么是find范围内的值的有效方式,例如Range(“A1:A2”),它们在第二个范围内以相同的顺序存在,例如Range(“B:B”)。

到目前为止,我的search只有两种可能:1)使用循环遍历第二个范围。 2)使用范围(“B:B”)在“A1”中查找值,然后在连续的单元格中testingA2的值。 范围内的值(“B:B”)不是唯一的,所以需要继续查找,直到找不到任何东西。

有没有另外的select,我没有考虑?

虽然(2)听起来很合理,但另一种快速方法是将B1和B2连接成工作列中的单个单元格(手动或使用VBA),为B2和B3等重复,然后在一次查找中匹配组合的string

[更新]

你可以像这样使用一个工作栏。 || 连接器用于避免错误匹配,错误检查处理不匹配的情况

Sub ConCatMatch() Dim rng1 As Range Dim X Set rng1 = Range([b1], Cells(Rows.Count, "B").End(xlUp)) rng1.Offset(0, 1).Columns.Insert With rng1.Offset(0, 1) .FormulaR1C1 = "=RC[-1]&""||""&R[1]C[-1]" X = .Value2 .EntireColumn.Delete End With If IsError(Application.Match([a1].Value & "||" & [a2].Value, X, 0)) Then MsgBox "No match", vbCritical Else MsgBox "Match starting at " & rng1.Cells(1).Offset(Application.Match([a1].Value & "||" & [a2].Value, X, 0) - 1, 0).Address(0, 0) End If End Sub 

在这里输入图像说明