2014-05-02 108 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

相關問題