Avatar billede EMA Nybegynder
09. november 2012 - 13:55 Der er 4 kommentarer og
1 løsning

Filtrering i excel2010 ud fra valg i dropdown boks

Hej

Jeg har brug for hjælp til at lave en filtrering i excel2010 ud fra et valg der er foretaget i en drop down boks.

I kolonne J7-J700 har jeg en række forskellige navne stående: Jens, Knud, Søren ect.....

I A1 er der lavet en dropdown boks hvor disse navne ligeledes vises.

Når arket åbnes vises alle 700 rækker.
Opgaven består herefter at indsatte et filter, så kun de rækker vises som tilsvarer det valgte navn i drop down boksen.

Altså hvis Søren vælges i drop down boks, så skal kun de rækker vises som indeholder navnet Søren.

Arket er et dynamiskark som opdateres fra Microsoft CRM, og der er en række øvrige beregninger og tællefunktioner indbygget.
Avatar billede tbak Nybegynder
09. november 2012 - 15:16 #1
Var det ikke nemmere blot at konvertere de 700 rækker til en tabel (hvis det ikke allerede er sket), og så bruge det filter, som er indbygget i en tabel?
Avatar billede KurtOA Praktikant
09. november 2012 - 20:00 #2
Et lille vba forslag...

Der er taget udgangspunkt i at din celle der skal filtreres efter er "B3"

placeres i fanens modul..
- Højreklik på fanen
- Vælg "Vis programkode"
- indsæt nedenstående


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

If Intersect(Target, Range("B3")) Is Nothing Then
Selection.AutoFilter Field:=1, Criteria1:=Range("b3"), Operator:=xlAnd
End If

End Sub

God fornøjelse ;-)
Avatar billede EMA Nybegynder
11. november 2012 - 11:04 #3
@tbak.
Det er ikke nok. Dropdown boksen her en anden funktion hvor der bliver lavet en række beregninger, så jeg kan ikke nøjes med alm. filter.

@KurtAO
Jeg forsøger med dit forslag, men er nok ude i noget jeg ikke er vant til at arbejde med. Får lige en kollega til at kikke på det først på ugen.
Avatar billede KurtOA Praktikant
11. november 2012 - 12:36 #4
Jeg har lagt et eksempel her:
http://gupl.dk/687148/

Jeg har her blot lavet en celle hvorfra filtreringen sker.

Der kan skrives hele ord i cellen som listen skal filtreres efter - men skriv fx *Paul* - så fås alle linier i  hvor Paul indgår. * Fungerer altså som "wildcard".

God fornøjelse ;-)

Kopden der der brugt ligger i arkets kodemodul.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

If Not Len(Range("B2")) > 1 Then Exit Sub

If Intersect(Target, Range("B2")) Is Nothing Then
Selection.AutoFilter Field:=1, Criteria1:=Range("b2"), Operator:=xlAnd

' Field 1 betyder at der filtreres på første kolonne i det filtrerede område

End If

End Sub

mvh Kurt
Avatar billede KurtOA Praktikant
24. november 2012 - 13:11 #5
Øh...  vi fandt da vist aldrig ud af om du fik løst dit problem? mvh Kurt
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