Avatar billede martin_g Nybegynder
19. oktober 2004 - 13:39 Der er 9 kommentarer og
2 løsninger

Avanceret filter - opdatér

Hej,

Hvis jeg har en liste med navne (f.ex), og jeg i en rullemenu gerne vil kunne vælge blandt disse navne er jeg naturligvis kun interesseret i unikke poster.

Hvis jeg har:
Martin
Carl
Aage
Martin

Vil jeg kunne vælge mellem de tre første. Jeg kan så lave en "unik" liste ud fra avanceret filter, men hvis jeg så senere skriver 'Thomas' på listen vil jeg også gerne have opdateret min unikke liste - hvordan gøres dette lettest ?

En mulighed (går jeg ud fra) er at optage 'avanceret filter' i en makro - kan jeg så sætte den til at opdatere når arket åbnes ?
Avatar billede stewen Praktikant
19. oktober 2004 - 14:46 #1
Prøv og navngiv dit område med navne (ctrl+F3) og indsæt følgende område:

=Ark1!$A$1:FORSKYDNING(Ark1!$A$1;TÆLV(Ark1!$A$1:$A$65536)-1;0)

Her skal du selvfølgelig rette Ark1 til dit arknavn

$A$1 skal rettes til starten af dit område (3 steder) og endelig $A$65536 skal rettes til din kolonne, men stadig med 65536......

dette navngivne område indsætter du i dit avancerede filter!
Avatar billede martin_g Nybegynder
19. oktober 2004 - 14:54 #2
Hej Stewen,

Ja, det giver jo fint nok det rigtige område...det gør det bare ikke dynamisk - hvis jeg tilføjer et navn nederst bliver den filtrerede liste ikke opdateret...
Avatar billede stewen Praktikant
19. oktober 2004 - 15:14 #3
hmm... okay, kabbak har engang lavet følgende (http://eksperten.dk/spm/499907):


Sorter kolonne A stigende og kør så makroen.

Sub Find_Unikke()
l = Range("A65536").End(xlUp).Address
For Each C In Range("A1:" & l).Cells
If C <> C.Offset(1, 0) Then
If Range("D1") <> "" Then
Range("D65536").End(xlUp).Offset(1, 0) = C
Else
Range("D1") = C
End If
End If
Next
End Sub
Avatar billede martin_g Nybegynder
19. oktober 2004 - 15:30 #4
Hej Stewen,

Det virker lidt voldsomt - kan man ikke bare optage en makro der kører det avancerede filter ? Hvordan ser knap-koden ud hvis man vil køre en makro (for exempel med navnet 'avfilter') ?
Avatar billede martin_g Nybegynder
20. oktober 2004 - 10:31 #5
Hey - jeg har fundet ud af, at hvis jeg indspiller det som makro, og så sætter makro-koden ind i Workbook_SheetChange ... så opdaterer den !!!

Altså, helt simpelt:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Range("A1:A80").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "B1:B80"), Unique:=True
End Sub
Avatar billede oernhoej Nybegynder
21. oktober 2004 - 10:31 #6
Lige en kommentar
Brug evt. navne i stedet for cellereferencer og læg opdateringen af navneområdet ind i i code så navnereferencen automatisk opdateres, når du laver ændringer i området

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        Range("a1").CurrentRegion.Name = "Kontoplan"
        'området celle a1 og tilgrænsende celler navngives med navnet "Kontoplan"
   
End Sub

Og indsæt så navnet istedet for cellereferencen i din makro for avanceret filter
Avatar billede martin_g Nybegynder
25. oktober 2004 - 12:53 #7
I skal have tak for hjælpen...smider I nogle svar, så fordeler jeg point - I ledte mig begge på sporet af den rette løsning...
Avatar billede stewen Praktikant
25. oktober 2004 - 14:41 #8
bare det lykkedes
Avatar billede martin_g Nybegynder
03. november 2004 - 13:34 #9
Hmmmm...nu ser det ud til at der kun kommer det ene svar, så pointene går til Stewen.

Tak...
Avatar billede oernhoej Nybegynder
03. november 2004 - 16:01 #10
Ja ja da
Avatar billede oernhoej Nybegynder
05. november 2004 - 11:36 #11
tak for det
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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