Du vill alltså ta över ALLA rader som uppfyller kriteriet?
Vill du sammaställa data så går det naturligtvis med D-formlerna, LETA, PASSA eller pivotabell.
Om du vill ha ut varenda rad så får du nog använda något av filten. Men, eftersom du vill kopiera data till ett annat blad så måste du använda:
DATA->FILTER->Avancerat filter->till annan plats
Det är "engångsfunktioner" och det går inte att få det automatiskt uppdaterat om du inte lägger in makron. Dessutom måste alla kolumner ha rubriker och du måste göra iording en fråga någonstans.
Exempel, antag att följande står i "DATA" C:D
kritera data
packare 1
pucko 7
nisse 8
alfons 9
pack 2
packad 3
Villkoret står i blad "PACK", cell A1-A2 (Villkoret kan ligga var som helst, det kräver bara plats för en rubrik och själva villkoret)
kritera
pack*
Nu kan du ställa dig i Blad "Pack" cell C, gå till:
DATA->FILTER->Avancerat filter->till annan plats
Listområde: DATA!$C:$D
Vilkorsområde: pack!$A$1:$A$2
Kopiera till: pack!$C$1:$D$1
OBS! du MÅSTE stå i "målbladet" när du gör filtreringen.
Det här gör väl ungefär det du vill? Men nackdelarna är väl ganska uppenbara. Vill du uppdatera data så blir du tvungen att köra hela paketet igen. Det går natuligtvis att infoga en knapp och skriva ett makro, men smidigt blir det inte.
Visa->vektygsfällt->kontroller
infoga en knapp
Högercklick, "visa kod"
Private Sub CommandButton1_Click()
Sheets("PACK").Select
Sheets("DATA").Columns("C:D").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=Range("A1:A2"), _
CopyToRange:=Range("C1:D1"), Unique:=False
End Sub
Stäng kodfönstret, ge knappen ett vettigt namn och stäng av formulärredigeringsläget.
Ja, ja. Väldigt osnyggt om jag får säga det själv :bla . Men jag kan inte komma på någonting annat (om du inte vill rota runt i Matrisformlernas mörka hemligheter. Men det skulle bli ganska komplicerade saker som skulle vara väldigt svåra att felsöka.)