18. februar 2021 - 12:28Der er
9 kommentarer og 1 løsning
Data fra en celle til andre celler på eksakte datoer
Jeg har en celle i et ark, vi kan kalle den SumGrøn, den summerer alle grønne op fra en bestemt kolonne Jeg har så et andet ark, hvor jeg har brug for værdien af SumGrøn hver den første f.eks Så hvis SumGrøn d. 1/1 =15, d 1/2 =19 og d 1/3 =45 Skal jeg bruge to kollonner en med dato 1/1 etc og en med SumGrøn med den værdi den havde d. 1/1 osv. Der er ikke nogle datoer i rækkerne i arket med SumGrøn, jeg kan bruge som kriterium. Og da SumGrøn jo løbende ændre sig, skal mit nye ark "kunne huske" altså gemme værdien fra den aktuelle dato. Hvordan fikser jeg det?
Hvis Dato og sum står i A2 og B2 vil denne makro kunne klare det. Den lægger data over i "Ark2" hvis datoen er d. 1 og hvis data ikke allerede er lagt over. Den aktiveres, når projektmappen åbnes.
Private Sub Workbook_Open() Dim LastRow As Long LastRow = Worksheets("Ark2").Cells(65356, 1).End(xlUp).Row If Day(Now()) = 1 And Worksheets("Ark2").Cells(LastRow, 1) <> Date Then Worksheets("SUMGrøn").Range("A2:B2").Copy Destination:=Worksheets("Ark2").Cells(LastRow + 1, 1) End If End Sub
Så fik jeg tid til at teste dette, og jeg kan ikke lige umiddelbart få det til at virke SumGrøn er en fast celle i ark 1 (Navngivet SumGrøn) Datoerne ligger forudefineret i kolonne D (startende i D4) på ark 2, og på en given dato, eller første gang mappen åbnes efter at en dato i kolonne D er passeret, skal den hente SumGrøn over i Kollonne E (startende i E4) Og jeg har selvfølgelig erstattet A2:B2 med D4:E4
Det kan jeg heller ikke få til at virke (har ændret 23 til 25), men jeg vil få brug for det, både hvor det er d. 1. i måneden, men det kunne også være hver bestemt ugedag, tirsdage f.eks, og så ligger alle datoerne klar i kolone D
Kan man evt "logge" hvilken dato cellerne der tælles sammen til SumGrøn får værdien grøn i en ny kolonne?
Først et par hints til hvor det måske går galt: 1. Ligger makroen i This Workbook (på dansk hedder det vist Denne Projektmappe)? 2. Hedder dit andet ark "Ark2"? Ellers ret navnet i makroen (3 steder)
Du kan rette makroen, så den starter på en ønsket dag (tastet ind i celle D2 på SUMGrøn) ved at ændre linje 4 til
If Date= worksteets("SumGrøn").Range("D2") And Worksheets("Ark2").Cells(LastRow, 1) <> Date Then
1. Ja makroen ligge i den aktuelle mappe 2. Jeg havde rettet navnet, men fandt dog lige en stavefejl, det hjalp ikke at rette den
"SumGrøn" er ikke et ark, men en navngiven Celle i Ark1, måske er det her det går galt Og det er nok smart at have en celle med aktuel dato i Arkt også
Private Sub Workbook_Open() Dim LastRow As Long LastRow = Worksheets("Ark2").Cells(65356, 1).End(xlUp).Row If Date = Worksheets("Ark1").Range("D2") And Worksheets("Ark2").Cells(LastRow, 1) <> Date Then Worksheets("Ark1").Range("SumGrøn").Copy Destination:=Worksheets("Ark2").Cells(LastRow + 1, 2) Worksheets("Ark2").Cells(LastRow + 1, 1) = Date End If End Sub
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.