2014-05-02 67 views
-2

我需要一个Excel VBA宏... 循环遍历图纸1-列(C),在图表2-上找到重复值(如果存在) - 列(G)在工作表1 - 列(D)中的不同列值中,执行从工作表2到工作表1 - 列(P)的“特定单元格”的复制和粘贴。在条件下复制并粘贴特定的单元格

示例: 如果重复发现,片材1列d =红色,复制并从片材2塔T到相应行片1列P. 糊值。如果发现的重复和片1列d =橙,复制和粘贴从片材2列V值对应行片1列P. 等等...等在列中的每个状态D.

表1 CDP 219906红2014年1月1日 239241黄色
239243橙色02/15/2013

表2 GTVXZ 219906 2014年1月1日
254788 10/26/2010
239243 2013年2月15日

任何帮助将非常感激

这并不一定是一个VBA宏,如果一个公式可以完成相同的。我有大约20左右的条件。如果我能够创建前两个,我可以使用它作为模板来构建其他模板。感谢

+0

有多少不同的条件在那儿?这是否需要VBA?一个公式可以很容易地做到这一点(即使有多个条件) – tigeravatar

+0

如果一个公式可以实现相同的话,它不一定是VBA宏。我有大约20左右的条件。如果我能够创建前两个,我可以使用它作为模板来构建其他模板。谢谢 –

回答

0

下面是应该为你工作的公式:

=IFERROR(VLOOKUP(C2,Sheet2!$G:$Z,INDEX({14,16},MATCH(D2,{"Red","Orange"},0)),FALSE),"") 

14是列选自G至T的数量(包括G和T),16是柱的选自G到V数(包括G和V)。你的样本数据不清楚哪些日期在哪些列,所以这是我的猜测。

该公式将在Sheet1的P列中进行。我假设第1行是标题行,因此实际数据从第2行开始。因此,该公式将进入单元格P2并被复制下来。

按照所示的相应条件放置列号。您可以添加更多,方法是使用逗号分隔{}中的值,如图所示。

或者,而不是指数/比赛,你可以创建一个单独的表包含条件和列数,然后使用嵌套VLOOKUP,这将是这个样子:

=IFERROR(VLOOKUP(C2,Sheet2!$G:$Z,VLOOKUP(D2,Sheet3!$A:$B,2,FALSE),FALSE),"") 
+0

这很好(谢谢!),但我没有提到一个例外。我将有大约20个条件(红色,橙色等),但所有这些条件都会从列T,V,X或Z中提取数据。它们都不会有唯一的列。我怎么能编辑公式来从同一列中拉出几个? –

+0

您将无法使用。每个条件都需要自己的条目。对同一列有多个条目是可以的 – tigeravatar

相关问题