Avatar billede fancy Mester
11. november 2020 - 19:54 Der er 9 kommentarer og
1 løsning

Udelad datoer

Hej

Jeg har et ark hvor jeg gerne vil udelade alle datoer der er mere end 365 dage gamle, så hver gang jeg åbner arket skal det kun kigge 365 dage baglæns fra dags dato, jeg forsøgt med forskellig sortering parameter uden at kunne finde noget der passer.
Avatar billede jens48 Ekspert
11. november 2020 - 22:31 #1
Du skriver ikke hvad "udelade" betyder, men jeg har lavet en makro, som - når filen åbnes -  skjuler linjer, der i kolonne A har en dato ældre end et år.

Private Sub workbook_open()
Dim LastRowColA, x As Long
LastRowColA = Range("A" & Cells.Rows.Count).End(xlUp).Row
Range("A2:A" & LastRowColA).EntireRow.Hidden = False
For x = 2 To LastRowColA
If Cells(x, 1) < Now() - 365 Then
Rows(x).Hidden = True
End If
Next
End Sub
Avatar billede fancy Mester
12. november 2020 - 08:37 #2
Tak for Koden, men jeg kan ikke få den til at køre, og det sikkert fordi jeg ikke er særlig god til Macro jeg har rette lidt da det er kolonne E jeg har min datoer stående i

Koden

Sub sorter()
'
' sorter Makro
'

'
Private Sub workbook_open()
Dim LastRowColE, x As Long
LastRowColE = Range("E" & Cells.Rows.Count).End(xlUp).Row
Range("E2:E" & LastRowColE).EntireRow.Hidden = False
For x = 2 To LastRowColE
If Cells(x, 1) < Now() - 365 Then
Rows(x).Hidden = True
End If
Next
End Sub
    ActiveWorkbook.Save
End Sub

Compile error-Expected end sub
Avatar billede jens48 Ekspert
12. november 2020 - 09:51 #3
Du skal blot tage det jeg har skrevet uden tilføjelser og lægge det ind i ThisWorkbook
Avatar billede jens48 Ekspert
12. november 2020 - 09:55 #4
Ups. Jeg overså at datoerne står i kolonne E. Det er rettet her.

Private Sub workbook_open()
Dim LastRowColA, x As Long
LastRowColA = Range("E" & Cells.Rows.Count).End(xlUp).Row
Range("E2:E" & LastRowColA).EntireRow.Hidden = False
For x = 2 To LastRowColA
If Cells(x, 5) < Now() - 365 Then
Rows(x).Hidden = True
End If
Next
End Sub
Avatar billede jens48 Ekspert
12. november 2020 - 10:04 #5
Og hvis det sættes ind som en del af en anden makro skal du udelade første og sidste linje
Avatar billede fancy Mester
12. november 2020 - 22:42 #6
Jeg mangler nu kun at køre en opdate, alså hente al data ved opstart, men det driller også, den er ca 30 sek om at hente data, og den venter ikke på at sorter.

Jeg har lavet et modul der opdater som hedder opdater.

Kan du løse dette

Ved opstart skal den hente alt data og derefter sorter.

Private Sub workbook_open()
Opdater
Dim LastRowColA, x As Long
LastRowColA = Range("E" & Cells.Rows.Count).End(xlUp).Row
Range("E2:E" & LastRowColA).EntireRow.Hidden = False
For x = 2 To LastRowColA
If Cells(x, 5) < Now() - 365 Then
Rows(x).Hidden = True
End If
Next
End Sub
Avatar billede jens48 Ekspert
13. november 2020 - 00:18 #7
Prøv med denne makro:

Private Sub workbook_open()
Application.Calculation = xlCalculationManual
Opdater
Dim LastRowColE, x As Long
LastRowColE = Range("E" & Cells.Rows.Count).End(xlUp).Row
Range("E2:E" & LastRowColE).EntireRow.Hidden = False
For x = 2 To LastRowColE
If Cells(x, 5) < Now() - 365 Then
Rows(x).Hidden = True
End If
Next
Range("A2:H" & LastRowColE).Select 'Ret om nødvendigt kolonne
    Range(Selection, Selection.End(xlDown)).Select
  Selection.Sort Key1:=Range("E2"), Order1:=xlAscending, Header _
        :=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.Calculation = xlCalculationAutomatic
End Sub
Avatar billede fancy Mester
13. november 2020 - 07:33 #8
Sortering virker fint, men den opdatere ikke :)
Avatar billede jens48 Ekspert
13. november 2020 - 08:57 #9
Du havde selv lavet et modul der opdaterer, så det havde jeg ikke beskæftiger mig med, men måske skal der i tredje linje stå Call Opdater i stedet for blot Opdater
Avatar billede fancy Mester
13. november 2020 - 23:20 #10
Det hjalp rigtig meget, tak for hjælpen
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

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