Avatar billede Hmmm…. Mester
09. juni 2022 - 23:08 Der 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.
Avatar billede acore Ekspert
10. juni 2022 - 08:02 #1
Nej, ikke umiddelbart.

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

Koden placeres på det Sheet, hvor L2 er.
Avatar billede Hmmm…. Mester
10. juni 2022 - 09:03 #2
Hej Acore
Tusind tak. Jeg prøver den med det samme.
Avatar billede Hmmm…. Mester
10. juni 2022 - 09:10 #3
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?
Avatar billede Hmmm…. Mester
10. juni 2022 - 09:23 #4
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
Avatar billede jens48 Ekspert
10. juni 2022 - 10:21 #5
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
Avatar billede acore Ekspert
10. juni 2022 - 11:21 #6
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
Avatar billede acore Ekspert
10. juni 2022 - 11:22 #7
#3 - ja det kan du ret let lave - har bare ikke lige tid til at skrive linierne nu
Avatar billede Hmmm…. Mester
10. juni 2022 - 14:30 #8
Hej Acore
Jeg er en tålmodig mand :-)
Der gerne venter til du har tid.(og lyst)
Jeg er virkelig taknemlig for at I gider at hjælpe mig.
Mange tak.
Avatar billede acore Ekspert
10. juni 2022 - 14:53 #9
Tak, men har #5 ikke serveret løsnngen på et sølvfad?
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