Forfatter |
Emne Søg Emne funktioner
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Emne: Datofilter Sendt: 14.Feb.2017 kl. 10:29 |
Skal bruge hjælp til et datofilter. hvordan får jeg dynamisk visning af: "i dag + 2 dage"??
|
|
|
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Accepteret svar
Sendt: 19.Feb.2017 kl. 08:23 |
Jamen, det kan jeg da uploads/732/Autofilter2Dage.XLSmJeg har lavet en komplet kode, der ser således ud:
Private Sub Workbook_Open()
' * ' Initialize On Error Resume Next
Const DatoKolonne As Long = 2
' * ' Define variables Dim Kriterie As Date Kriterie = Date + 2 ' Set today + 2 days as criteria
Dim WS As Excel.Worksheet Set WS = Ark1 ' Worksheet containing the filter
' * ' Set filter WS.ShowAllData ' Reset filter to show all data WS.Range("$A$1:$C$1").AutoFilter Field:=DatoKolonne, Criteria1:="=" & Kriterie
ES: ' End of Sub Set WS = Nothing
End Sub |
På den måde er det let, at bestemme, hvilken kolonne dato filteret skal være på, og hvad kriteriet skal være, samt, hvilket regneark, som der skal benyttes. Jeg har dog ikke indlagt ikoden, at den skal sætte filteret, da jeg går ud fra, at det allerede er sat i forvejen - hvis det mangler vil koden, naturligvis, ikke virke Selv uden de store VBA kendskaber, burde koden værew til at gennemskue Koden ligger i 'ThisWorkbook' modulet, som du kan finde frem til således: www.excelgaard.dk/Bib/Makroer/Indsaet/Workbook/ www.excelgaard.dk/Bib/Makroer/Indsaet/Workbook/
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Sendt: 14.Feb.2017 kl. 11:59 |
Jeg tror, du måske skal forklare lidt mere... I en Excel formel:
I VBA:
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 15.Feb.2017 kl. 11:18 |
Prøver lige at være mere præcis :) Ligesom man kan sætte et filter "IDAG" se eksempel nedenfor! Tænker at det skal læses med VBA
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Sendt: 15.Feb.2017 kl. 12:23 |
Måske er jeg dum igen, men kan du ikke bare vælge dato filteret 'Er lig med...' og så angive datoen, der er 2 dage frem i tiden?
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 15.Feb.2017 kl. 18:33 |
Nej, datoen skal permanent være +2dage, da den er grundlag for et dashboard, hvor man ikke skal ind og rette hver dag.
|
|
Inaktiv profil
Gæst
Medlem: 01.Apr.2015
Land: Danmark
Status: Offline
Point: 0
|
Sendt: 16.Feb.2017 kl. 06:55 |
Kan du ikke bare bruge en almindelig formel som:
=INDEKS(B:B;SAMMENLIGN((IDAG()+2);A:A;0))
hvis du har dine datoer i kolonne A og tal der skal returneres i kolonne B?
(Du kan ikke bruge IDAG() i Filter, Dato Filter)
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Sendt: 16.Feb.2017 kl. 08:35 |
Stephanbroni skrev:
Nej, datoen skal permanent være +2dage, da den er grundlag for et dashboard, hvor man ikke skal ind og rette hver dag. |
Så, du vil have et regneark, hvor samtlige datoer, der ikke er IDAG()+2 automatisk bliver skjult, hver gang regnearket bliver åben?
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 16.Feb.2017 kl. 15:36 |
Præcis
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 16.Feb.2017 kl. 15:43 |
Kan ikke få din formel til at virke! Men ja, Dato i A og værdi I B
|
|
Inaktiv profil
Gæst
Medlem: 01.Apr.2015
Land: Danmark
Status: Offline
Point: 0
|
Sendt: 16.Feb.2017 kl. 16:32 |
Det fungerer fint for mig.
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 16.Feb.2017 kl. 18:08 |
håber du kan senere
|
|
Inaktiv profil
Gæst
Medlem: 01.Apr.2015
Land: Danmark
Status: Offline
Point: 0
|
Sendt: 16.Feb.2017 kl. 18:59 |
Det er jo ikke til meget så hjælp når du bare skriver: Kan ikke få din formel til at virke. Lidt mere info om eventuel fejlmeddelelse kunne måske have bragt os videre. Den blotte konstatering, at noget ikke virker, er lidet konstruktivt og bringer os i hvert fald ikke videre.
Men hvis det haster, så kan du sende mig en personlig besked med din mailadresse, så kan jeg sende filen til dig, da jeg stadigvæk ikke kan uploade her.
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Sendt: 17.Feb.2017 kl. 07:29 |
Stephanbroni skrev:
Præcis |
Jamen, er det så ikke bare, at ligge en enkelt kodelinje ind i 'Workbook_Open' eventen, der indstiller filteret???
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 18.Feb.2017 kl. 08:35 |
Det er den VBA kode jeg skal have hjælp til. Er helt "grøn" i VBA kodning, håber du kan uploade et ark med et eksempel.
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Accepteret svar
Sendt: 19.Feb.2017 kl. 08:23 |
Jamen, det kan jeg da uploads/732/Autofilter2Dage.XLSmJeg har lavet en komplet kode, der ser således ud:
Private Sub Workbook_Open()
' * ' Initialize On Error Resume Next
Const DatoKolonne As Long = 2
' * ' Define variables Dim Kriterie As Date Kriterie = Date + 2 ' Set today + 2 days as criteria
Dim WS As Excel.Worksheet Set WS = Ark1 ' Worksheet containing the filter
' * ' Set filter WS.ShowAllData ' Reset filter to show all data WS.Range("$A$1:$C$1").AutoFilter Field:=DatoKolonne, Criteria1:="=" & Kriterie
ES: ' End of Sub Set WS = Nothing
End Sub |
På den måde er det let, at bestemme, hvilken kolonne dato filteret skal være på, og hvad kriteriet skal være, samt, hvilket regneark, som der skal benyttes. Jeg har dog ikke indlagt ikoden, at den skal sætte filteret, da jeg går ud fra, at det allerede er sat i forvejen - hvis det mangler vil koden, naturligvis, ikke virke Selv uden de store VBA kendskaber, burde koden værew til at gennemskue Koden ligger i 'ThisWorkbook' modulet, som du kan finde frem til således: www.excelgaard.dk/Bib/Makroer/Indsaet/Workbook/ www.excelgaard.dk/Bib/Makroer/Indsaet/Workbook/
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|
Stephanbroni
Forum Begynder
Medlem: 14.Feb.2017
Land: Danmark
Status: Offline
Point: 8
|
Sendt: 20.Feb.2017 kl. 12:11 |
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5417
|
Sendt: 20.Feb.2017 kl. 12:13 |
Velbekomme og tag for ordene
|
Husk, at trykke på [Tak], hvis du kan lide et indlæg. Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.
|
|