【问题标题】:If cell matches any others in range copy content to "results" sheet如果单元格与范围内的任何其他单元格匹配,则将内容复制到“结果”表
【发布时间】:2015-07-23 10:32:20
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: excel vba vlookup


    【解决方案1】:
    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
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-06
        • 2022-01-20
        • 1970-01-01
        相关资源
        最近更新 更多