我试图使用Application.match查找范围A1:Z1和A2:Z2中的值匹配的列。例如,第一行包含不同的水果名称,第二行包含颜色。所以,说我找了一个蓝色香蕉列,这样的事情应该工作:Excel VBA类型不匹配范围连接多个范围匹配尝试
mycolumn = Application.Match("Banana" & "Blue", Worksheet("Coloured_Fruit").Range(A1:Z1) & Worksheet("Coloured Fruit").Range(A2:Z2), 0)
为了在下面的数据表匹配蓝色香蕉:
A1:banana B1:apple C1:banana D1:orange
A2:green B2:blue C2:blue D2:green
这应该回复C ,因为C列是代表蓝色香蕉的那一列。
但我得到一个类型不匹配。范围与正在进行匹配的代码位于不同的工作表上。这个工作正常,当我只想匹配一行,但不是两个。网络搜索建议上面的行应该工作。
我试过在表达式上使用Evaluate,但那也行不通。
任何建议如何做到这一点?
MATCH函数有三个参数:要匹配的值,要匹配的单元格的数组(单列或单行范围)以及匹配类型(精确值为0)。我不清楚你想用两个范围串联来做什么。 – chuff
你应该能够连接你正在搜索的字符串,以及你正在寻找的范围。在这个例子中,我不想在绿色的香蕉或蓝苹果上获得一场比赛。例如,请参阅http://support.microsoft.com/kb/59482,其中提供了三条建议,其中没有一条适用。 –