23. januar 2004 - 16:16Der er
4 kommentarer og 2 løsninger
VBA-kode som viser valgt kriterie i celle i autofilter
Jeg har et regneark med et autofilter. Jeg anvender denne kode til at ændre kriteriet for filteret:
Selection.AutoFilter field:=1, Criteria1:="6"
Hvis brugeren går ind og ændrer filtreringen i autofilteret, har jeg behov for at kunne aflæse det valgte criteria1. Jeg kan ikke lige finde syntaksen til at finde værdien af denne egenskab. Kan nogen hjælpe med det?
Jeg fandt dette eksempel, som jeg har rettet lidt til i min egen kode:
Sub FindFilter() 'The following example sets a variable to the value of the Criteria1 property of the filter for the first column in the filtered range on the Crew worksheet.
With Worksheets("Crew") If .AutoFilterMode Then With .AutoFilter.Filters(1) If .On Then c1 = .Criteria1 End With End If End With MsgBox c1 End Sub
Håber du kan bruge det - Ellers er du velkommen til at vende tilbage :o)
Jeg har lavet denne funktion, som du kan kopiere til et kodemodul i VBA:
Function FindFilter(ArkNavn, FilterNr) As String With Worksheets(ArkNavn) If .AutoFilterMode Then With .AutoFilter.Filters(FilterNr) If .On Then c1 = .Criteria1 Else c1 = "" End If End With End If If c1 <> "" Then FindFilter = Right(c1, Len(c1) - 1) Else FindFilter = c1 End If End With End Function
Derefter kopierer du formlen nedenfor til f.eks. celle G1 i dit regneark.
Funktionen findfilter indeholder variabler for arknavn og kolonne i autofilteret. Så hvis dit ark hedder Data ændrer du bare Ark1 til Data. Hvis du skal bruge valg fra kolonne 2 i dataområdet ændrer du bare 1 til 2. Den næste del af formlen anvendes til at få aktiveret beregneren i regnearket og opdatere funktionen. Her skal du også ændre arknavnet til det ønskede og du skal ændre D:D til at være bogstavet for den første kolonne i dit dataområde. Så hvis dine data starter fra kolonne A skriver du A:A.
Nu vil cellen opdateres og vise det filter der er valgt, hver gang der ændres valg i autofilteret. :o)
Synes godt om
Ny brugerNybegynder
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.