如果单元格将范围复制内容中的任何其他内容与“结果”表匹配

时间:2012-02-27 18:55:01

标签: excel vba vlookup

我想检查A3中的文本是否与A5范围内任何其他单元格中的文本匹配:A50。

如果是的话,我想将Y单元格的内容(与匹配A3的单元格具有相同的行号)复制到名为results的工作表中的A列中的下一个空闲单元格中。它还需要在复制Y单元时保持单元格颜色。

我所能得到的只是把它放在目标单元格中​​

= VLOOKUP(Sheet1!A3, Sheet1$A$5:$Y50, 25, TRUE) 

这不起作用,因为我需要在具有不同名称的多个工作表上运行它。

2 个答案:

答案 0 :(得分:0)

with activesheet
   for each c in .range("A5:A50").cells
      if c.value = .range("A3").value then
         c.offset(0,24).copy _
              worksheets("results").cells(rows.count,1).end(xlup).offset(1,0) 
      end if
   next c
end with

答案 1 :(得分:0)

您可以使用动态3d-Vlookup技术,列出要在列表中搜索的工作表名称,命名该范围的单元格 MySheets ,然后使用如下构造:

=VLOOKUP(A3, INDIRECT("'" & INDEX(MySheets, MATCH(1, COUNTIF(INDIRECT("'" & MySheets &"'!A1:A50"), A3), 0)) & "'!A:B"), 2, 0)

有一个示例工作簿on my site证明了这一点。