簡體   English   中英

VBA:基於id復制另一行的單元格“ id”引用的整行?

[英]VBA: Copy entire row, based on id, referenced by another row's cell “id”?

excel / VBA的一般問題:我有一個單元格(C3),它引用另一個單元格和列(B2)中的值(“ 1”)。 如何復制包含引用單元格的整個行(B)?

在我的示例中,我有一個表格的宏,該表格根據多個列和條件進行了預先篩選,然后將相關行復制到新的工作表中。

請參見下面的簡化表。 (請注意,“復制”列是高級過濾條件和結果的簡化版本,用於說明目的。)

使用我的代碼,它將復制“面包”,“蘋果”,“梨””行。

卡住的地方:僅當子行符合高級過濾條件時(“復制”:Y),我還需要復制包含“父ID”的行。 因此,我還需要復制“谷物”和“水果”的整行。

但不是“飲料”。

而且“水果”只能復制一次。 (即使存在與ID“ 2”和高級過濾條件匹配的兩行“ Apples”“ Pears”)也是如此。

請注意:我不能使用或引用“復制”列,因為該列僅用於說明目的。

Details     ID  ParentID    Copy
*GRAINS*    1       
Bread           1            Y
Rice            1   
*FRUIT*     2       
Apples          2            Y
Pears           2            Y
*DRINKS*    3       
Juice           3            N
Milk            3            N


Sheets("Configuration").Range("B7:Y259").AdvancedFilter _ 
Action:=xlFilterCopy, CriteriaRange:=Sheets("Filter").Range("A1:H8"), _ 
CopyToRange:=Range("A1"), Unique:=False 

我的過濾范圍是:

摘要摘要TPM高級配置-印度QA-印度集成工程師QA-范<> 總計 > 0 <> 總計 > 0 <> 總計 > 0 <> 總計 > 0 <> 總計 > 0 <> 總計 > 0 <> 總計 > 0

使用高級過濾器無法直接實現所需的功能。

我認為您最好的選擇是調整條件,以便復制所有父母。

然后,在過濾后的數據集中,過濾出空的“父ID”並刪除這些行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM