Datofilter
Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=2942
Udskrevet den: 03.Maj.2024 kl. 16:10
Emne: Datofilter
Besked fra: Stephanbroni
Emne: Datofilter
Posteringsdato: 14.Feb.2017 kl. 10:29
Skal bruge hjælp til et datofilter. hvordan får jeg dynamisk visning af: "i dag + 2 dage"??
|
Svar:
Besked fra: EXCELGAARD
Posteringsdato: 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.
|
Besked fra: Stephanbroni
Posteringsdato: 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
|
Besked fra: EXCELGAARD
Posteringsdato: 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.
|
Besked fra: Stephanbroni
Posteringsdato: 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.
|
Besked fra: Inaktiv profil
Posteringsdato: 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)
|
Besked fra: EXCELGAARD
Posteringsdato: 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.
|
Besked fra: Stephanbroni
Posteringsdato: 16.Feb.2017 kl. 15:36
Præcis
|
Besked fra: Stephanbroni
Posteringsdato: 16.Feb.2017 kl. 15:43
Kan ikke få din formel til at virke! Men ja, Dato i A og værdi I B
|
Besked fra: Inaktiv profil
Posteringsdato: 16.Feb.2017 kl. 16:32
Det fungerer fint for mig.
(Kan ikke pt /topic662.html - uploade en fil).
|
Besked fra: Stephanbroni
Posteringsdato: 16.Feb.2017 kl. 18:08
håber du kan senere
|
Besked fra: Inaktiv profil
Posteringsdato: 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 /topic662.html - uploade her.
|
Besked fra: EXCELGAARD
Posteringsdato: 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.
|
Besked fra: Stephanbroni
Posteringsdato: 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 /topic662.html - uploade et ark med et eksempel.
|
Besked fra: EXCELGAARD
Posteringsdato: 19.Feb.2017 kl. 08:23
Jamen, det kan jeg da
uploads/732/Autofilter2Dage.XLSm" rel="nofollow - uploads/732/Autofilter2Dage.XLSm
Jeg 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.
|
Besked fra: Stephanbroni
Posteringsdato: 20.Feb.2017 kl. 12:11
Besked fra: EXCELGAARD
Posteringsdato: 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.
|
|