20. september 2010 - 14:02 Der er 4 kommentarer og
1 løsning

VBA i Excel

Jeg har et dokument hvor jeg skrive forskellige opgaver ind i og jeg vil så gerne have en række til sidst, hvor den skriver den dato hvor jeg sidst har haft ændret den enkelte linje (opgave). Jeg har lavet et script der tjekker om cellerne i række A er tomme eller ej og hvis de ikke er tomme, skriver den dags dato i række D. Problemet her er jo at den så altid bare vil skrive dags dato, så når jeg åbner arket i morgen står der bare en ny dato hele rækken ned. Det jeg leder efter, er altså at den kun skal skifte dato, hvis jeg ændre den pågældende celle. Min kode ser pt sådan her ud:

I = 2
Dato = Now()
Do While I < 50
    If Ark1.Cells(I, 1) <> "" Then
        Ark1.Cells(I, 4) = Dato
    End If
    I = I + 1
Loop

På forhånd tak.
20. september 2010 - 14:04 #1
Jeg tænker noget i tilfælde af at den kun tjekker den celle jeg pt står i, så den ikke hele tiden laver den der loop funktion. Det gør arket ret langsomt, at den konstant skal tjekke 50 celler for indhold.
Avatar billede supertekst Ekspert
20. september 2010 - 14:08 #2
Ville det ikke være mere præcist at skrive dags dato i kolonne D, hvis der blev ændret i kolonne A?

Altså "fange" ændringen i nuet..
Avatar billede supertekst Ekspert
20. september 2010 - 14:14 #3
Prøv dette:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Target.Offset(0, 3) = Format(Now, "dd-mm-yy")
    End If
End Sub
20. september 2010 - 14:36 #4
Supertekst> Det var PRÆCIS sådan noget der jeg ledte efter. Post et svar, så er der point :) Jeg har dog lige rettet det lidt til, så den sletter datoen igen, hvis jeg sletter posten.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Target.Offset(0, 3) = Format(Now, "dd-mm-yy")
        If Target.Cells = "" Then
            Target.Offset(0, 3) = ""
        End If
    End If
End Sub
Avatar billede supertekst Ekspert
20. september 2010 - 14:41 #5
Fint - et svar..
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
Kategori
Kurser inden for grundlæggende programmering

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