09. juni 2022 - 23:08Der er
8 kommentarer og 1 løsning
Tælle antal ændringer i en celle 30 dage bagud
Hej Kan man lave en kode eller formel der tæller de antal gange at f.eks. tallet i celle J2 er blevet ændret inden for de sidste 30 dage og få det til at stå i celle L2 På forhånd tak.
Men du kan godt lave en makro, der hver gang L2 ændres, tæller en anden celle op. Men makroer kan jo slås fra, så det er ikke en helt sikker fremgangsmåde.
Eksempel - tæller L3 op:
Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$L$2" Then Call Counter End If End Sub Sub Counter() Range("L3").Value = Range("L3").Value + 1 End Sub
Kan man ændre den således at det glæder for kollende så hvis jeg skriver i L2 så tæller den i O2 og skriver jeg i L3 så tæller den i O3 og så fremdeles nedad?
Jeg har i øvrigt i forvejen en makro i samme ark som Jens48 har været så venlig at lave til mig Når jeg så tilføjer den du har lavet Acore, så får jeg en fejl på linje 6. Hvad gør jeg forkert?
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("J:K")) Is Nothing Then Target.Offset(0, 2) = Now() End If End Sub Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$L$2" Then Call Counter End If End Sub Sub Counter() Range("L3").Value = Range("L3").Value + 1 End Sub
Hvis du vil have talt op hvor mange gange der er lavet ændringer, kan denne makro måske gøre det. Der er blot sat en linie mere ind i forhold til den makro jeg tidligere har givet dig. Jeg er klar over at den ikke tæller op hvor mange gange der er lavet ændringer indenfor den sidste måned, men hvor mange ændringer der er lavet totalt. Jeg har ikke lige en metode til at skelne hvornår ændringerne er lavet.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("J:K")) Is Nothing Then Target.Offset(0, 2) = Now() Target.Offset(0, 3) = Target.Offset(0, 3) + 1 End If End Sub
Du kan kun have en Sub af samme navn, så de skal slås sammen til en:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("J:K")) Is Nothing Then Target.Offset(0, 2) = Now() End If If Target.Address = "$L$2" Then Call Counter End If End Sub Sub Counter() Range("L3").Value = Range("L3").Value + 1 End Sub
Tak, men har #5 ikke serveret løsnngen på et sølvfad?
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.