16. juni 2013 - 21:55Der er
4 kommentarer og 1 løsning
En makro som kan notere tidspunktet for indtastning af et resultatet
I forbindelse med at jeg skal indtaste et resultat fra en given opgave har jeg brug for en makro der registrere tidspunktet for hvornår jeg skriver resultatet ind i et arket. I B1 indtastes tidspunkter for hvornår opgaven påbegyndes. Makroen skal gøre følgende, når jeg har indtaster en værdi i en celle og trykker ENTER eller Ctrl+d så skal cursoren springe til cellen til højre for, OG der skal "den forbrugte tid"[tt:mm:ss] skrives automatisk OG derefter skal cursoren springe én celle ned og én celle til venstre og være klar til næste indtastning.
A B 1 Start 16:50:00 2 Svar Tid 3 Bil 00:03:20 4 45 01:45:59 5 |
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A:A")) Is Nothing Then Target.Offset(0, 1) = Now() Target.Offset(1, 0).Select End If End Sub
Der er en makro, som skal aktiveres for at skrive starttidspunktet, og en makro, som automatisk skriber i kolonne B, når der skrives noget i kolonne A. Kolonne B formatteres til HH:mm:ss
Sorry det glemte jeg: Arbejder i WIN XP UK og Excel 2007 UK
Fint hint. Det måtte omskrives til =TEXT(NOW();"hh:mm:ss") før jeg fik 07:52:18 frem. Så har jeg lige forfinet den lidt til: =TEXT(NOW()-B1;"hh:mm:ss") for at få den ønskede tidsdifference.
Nu mangler vi bare at dette bliver skrevet i en celle når jeg har skrevet "opgave svaret" ind. (makro eller VB funktion)
Jeg har sat følgende =TEXT(NOW()-B1;"hh:mm:ss") ind i A5 og B1 er sat til 05:00:00 Når jeg skriver en værdi i A:A og trykker ENTER, så ændres tiden i A5, så langt så godt. Men det er A5 der ændres hele tiden og så kan jeg ikke se hvornår de forskellig svar er indtastet i A7 A8 A9 osv.
Jeg vil gerne have at når jeg skriver noget i A7 og trykker ENTER, så skal tiden skrives i B7 og cursoren skal springe til A8 og være klar til en indtastning der, for så at springe til B8 og skrive tiden og gå til A9 osv. osv.
Kan du sende mig dit ark på j,e,sper.adler,@,gmail.co,m bare slet ,-erne ;-)
Hvis du vil have tidsrummet mellem star og svar i stedet for den aktuelle tid, skal makroen se sådan ud:
Sub nu() Cells(1, 2) = Now() End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A:A")) Is Nothing Then Target.Offset(0, 1) = Now() - Range("b1") Target.Offset(1, 0).Select End If End Sub
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.