Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Du skal kikke på Data > Filter > Advanceret filter
den kan gøre det:
Sæt dine data i en ny mappe ark1, fra celle A1 med overskrifter
den første makro opsætter ark 2 med det der skal stå der inden filter køres.
Det med run skrives i G2, ret der hvis du vil gave andet vist f.eks Bike
den næste kører filtret
Sub OpsætArk2() Range("A1:C1").Copy Sheets("Ark2").Range("G1") Sheets("Ark2").Range("G1") = "Type" Sheets("Ark2").Range("G2") = "Run"
End Sub Sub filter() Dim Rw As Long Rw = Sheets("Ark1").Range("a1").CurrentRegion.Rows.Count Sheets("Ark1").Range("A1:C" & Rw).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("G1:G2"), CopyToRange:=Range("A1:C" & Rw), Unique:= _ False End Sub
Jeg har prøvet med filter, jeg kan dog ikke få filteret til at være dynamisk.
Den range(bygger på en formel, så den er dynamisk) jeg har vist, henviser til et ark(inputdagplan) som er en kopi af mit indtastningsark.
Jeg har tænkt på om en makro a la din, måske bare skal kopier direkte fra indtastnings arket, ud på fire dedikeret ark til typerne. Kan en makro køre hver gang man skifter række?
Jeg har nogle spørgsmål. 1. vil du prøve at forklare mig lidt om opbygningen af filter makroen. 2. hvis jeg kører filter makroen flere gange itræt fjerne den en linje hver gang. 3. Vil det være en fordel at køre makroen direkte på indtastnings arket. 4. Kan de køre når man skifter række på indtastnings arket?
1. filteret skal have samme overskrifter i begge ark og der skal være overskrift på kriterie. 2. det gør den ikke hos mig. 3. ark1 er det samme som indtastningsarket, så ja. 4. hvis du mener at makroen skal køre, hver gang du skifter til ny linje, i indtastningsarket, ja, men det vil jo sløve. du kan jo lave en knap på ark2, som er tilknyttet makroen 'Filter'
Sub OpsætArk2() Sheets("Ark1").Range("A1:k1").Copy Sheets("Ark2").Range("A1") Sheets("Ark2").Range("O1") = "Type" Sheets("Ark2").Range("O2") = "Run"
End Sub Sub filter() Dim Rw As Long Rw = Sheets("Ark1").Range("a1").CurrentRegion.Rows.Count Sheets("Ark1").Range("A1:k" & Rw).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("O1:O2"), CopyToRange:=Range("A1:k" & Rw), Unique:= _ False End Sub
på baggrund af dine svar, overvejer jeg om jeg griber min opgave rigtigt an.
Det jeg vil lave er en træningsdagbog. Den består af to dele, en planlægningsdel samt dagbog, disse er bygget ens op teknisk, den jeg har vist er fra dagbogen. man starter på "Dagplan!", her indtaster man de pas man planlægger at lave. hvis et pas består af flere linjer, behøver man ikke at taste dato samt type på hver linje. jeg har så "inputdagplanData!" hvor jeg har lavet formler som henter indtastningerne, indsætter dato samt type på de linjer som mangler, der bliver også sat #N/A i alle tomme felter. Jeg har så fire ark "inputdagplan+TYPE!" som kun skal inholde data fra den tykelte type.
Du har lavet en fin makro til at filtere fra "inputdagplanData".
Jeg tænker flg. Kan der laves en makro som, når man skifter til en ny linje, kigger på den sidste udfyldte linje, og flytter den til det ark for den type. Hvis den skal køre direkte på indtastningsarket, så forestiller jeg mig at man skal sætte mine formler ind i makroen, så linjerne bliver udfyldt, på type arket.
Jeg vil gerne vise dig en fil, hvis det giver mere mening.
prøv at sende et eksempel, med en forklaring om hvad du ønsker, så skal jeg se på det, (kan godt vare flere dage) kabbak snabela vip dot cybercity dot dk
Dit forslag gør faktisk også det jeg efterspurgte. så du skal have dine point.
Jeg er dog gået efter en formel løsning, da jeg er træt af at skal trykke på en knap efter hver linje skift, også tager makroen længere tid end min formel.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.