VBA: copia intera row, basata su id, riferita da un'altra cella id "id"?

Generale excel / VBA question: Ho una cella (C3) che fa riferimento a un valore ("1"), trovato in un'altra cella e colonna (B2). Come posso copiare l'intera row (B) che contiene la cella fatta riferimento?

Il mio esempio ha una macro per una tabella che ho avanzato filtrato in base a più colonne e criteri, quindi copiamo in un nuovo foglio le righe corrispondenti.

Si prega di vedere la tabella semplificata di seguito. (Nota: la colonna "Copia" è la versione semplificata dei criteri e dei risultati del filter anticipo, a scopo illustrativo.)

Utilizzando il mio codice, copia le righe "Pane", "Mele", "Pere" ".

Dove sono bloccato: devo anche copiare la row che contiene l'ID genitore, solo se la row figlia soddisfa i criteri del filter anticipo ("Copia": Y). Quindi avrei anche bisogno di copiare tutta la row per "Grani" e "Frutta".

Ma non "Bevande".

E "Frutta" deve essere copiata una sola volta. (anche se ci sono due file "Mele" "Pere" che corrispondono all'ID "2" e ai criteri di filter avanzati).

Nota: non posso utilizzare o fare riferimento alla colonna "Copia", in quanto questa è utilizzata solo per scopi illustrativi.

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 

Dove il mio range di filtri è questo:

Riepilogo Riepilogo Riepilogo Riepilogo Config Config Config – India QA – India Engineer Integration QA – Van <> Totale > 0 <> Totale > 0 <> Totale > 0 <> Totale > 0 <> Totale > 0 <> Totale > 0 < 0

Quello che volete non è direttamente ansible con il filter avanzato.

Penso che la tua scommessa migliore sarebbe quella di regolare i tuoi criteri in modo che tutti i genitori siano copiati.

Quindi, nel tuo set di dati filtrato, filtri l'ID del padre vuoto ed elimina queste righe.