Avatar billede mshh Nybegynder
13. januar 2013 - 16:18 Der er 9 kommentarer og
1 løsning

Automatisk opdatering af filter

Jeg har et regneark hvor jeg i en celle taster et nummer. Dette bruges til LOPSLAG på nogle data i et andet ark. Afhængig af hvilket "post" i den anden tabel jeg slår op, så bliver der flere / færre rækker, der indeholder data i mit konkrete regneark.

På baggrund af en formel, der giver 0 eller 1 afgør jeg så om rækkerne indeholder data - og dermed skal vises eller skjules.

Øverst har jeg så et filter, som kun viser rækker der giver 1.

Hver gang jeg taster et nyt nummer i cellen til LOPSLAG så reagerer mit filter først når jeg har "valgt" det igen. Indtil da fastholder den filtrering fra forrige post.

Kan jeg gøre således, at filteret automatisk opdateres - og hvordan?
Avatar billede excelent Ekspert
13. januar 2013 - 19:20 #1
Koden indsættes i arkets kodemodul
Filter opdateres med hvad der indtastes i J1

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("J1")) Is Nothing Then Exit Sub
krit = "*" & Range("J1").Value & "*" ' indeholder
Range("A1").AutoFilter Field:=1, Criteria1:=krit
'eller
'krit = Range("J1").Value ' lig med
'Range("A1").AutoFilter Field:=2, Criteria1:=Range("J1").Value
End Sub
Avatar billede mshh Nybegynder
14. januar 2013 - 19:52 #2
Hejsa!

Jeg er ikke helt med på hvor i Excel jeg finder "kodemodul" for et ark?

Du skriver at filteret opdateres med hvad der indtastes i J1. I givet fald vil det ikke virke. Det jeg skriver i J1 (som så i mit ark er E2) er et rækkenummer fra den tabel hvor jeg henter oplysninger. Det kan derfor være alt fra 1 til 150. Mit filter skal vise alle de rækker i kolonne I som har værdien 1.

Ved ikke om det gav mening...
Avatar billede excelent Ekspert
14. januar 2013 - 21:00 #3
Kodemodul finder du ved at højreklikke på arkfanen og vælge Vis Programkode.

J1 var også blot et eks.
Du skriver : Kan jeg gøre således, at filteret automatisk opdateres - og hvordan?

Så må jeg vide hvad filteret skal opdateres med (fra hvilken celle/celler)
Avatar billede mshh Nybegynder
15. januar 2013 - 16:55 #4
Jeg kan sætte værdien "1" ind i celle A1 på arket. Det er så den værdi, som filteret i kolonne I skal opdateres med, når jeg i E2 taster en ny værdi.

Ved ikke om det gav mening? :-)
Avatar billede excelent Ekspert
15. januar 2013 - 18:22 #5
Hvor har du dit Autofilter ? Ark/kolonner og i hvilken kolonne skal filterkriterie indsættes
Findes celle A1 med 1/0 og E2 med indtastning i samme Ark?
Avatar billede mshh Nybegynder
16. januar 2013 - 19:45 #6
Vi arbejder på en fane/ark i regnearket benævnt "Faktura".

På denne fane laver jeg Lopslag på andre faner. Disse Lopslag genereres på baggrund af et nummer (deltager-nummer) som tastes i celle E2.

I celle A1 (fortsat på "Faktura") har jeg indsat værdien 1.

Mit filter (fortsat på "Faktura") er i kolonne I, række 1 og omfatter rækkerne 2 til 95.

Så opgaven er, at jeg ved at taste en ny værdi i E2 kan få filteret i kolonne I til automatisk at "opdatere" så det viser rækker hvor værdien er "1".
Avatar billede excelent Ekspert
17. januar 2013 - 19:45 #7
Koden køres v. ændring af E2

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E2")) Is Nothing Then Exit Sub
Range("C1").AutoFilter Field:=1, Criteria1:=Range("A1").Value
End Sub

Bem.: Field:=1 refererer til et Autofilter's første felt, ret evt. til aktuel
Avatar billede mshh Nybegynder
17. januar 2013 - 20:08 #8
Det virker... fedt! :-)
Du skal vist skrive et svar for at få point?
Avatar billede excelent Ekspert
17. januar 2013 - 21:28 #9
ok
Avatar billede stenbye Nybegynder
09. januar 2014 - 12:25 #10
Jeg har haft stor gavn af ovenstående kode - TAK
Hvordan gør jeg, hvis opdateringen skal ske via en ændring i et andet ark? fx Ark2

På forhånd TAK!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester