Halløj. Jeg har et ark i excel, hvor jeg har lavet tre knapper, start - stop - og pause når jeg så sætter arkbeskyttelse på kan knapperne ikke bruges, hvilket ikke er planen :-( Altså et låst ark med aktive knapper ville være dejligt. Jeg vil gerne gøre opmærksom på at jeg ikke er en ørn til det her så simpelt er kodeordet. På forhånd tak
Vlken version af Excel? Jeg har testet i 365 og her virker både Kontrolelementknapper og ActiveX knapper fint beskyttede ark, med mindre de skal "gøre noget ved" låste celler.
Ja så er jeg tilbage, med et spørgsmål til de kloge folk her inde - som faktisk er til mere hjælp end jeg havde regnet med.
Jeg har nu fået lavet tostopure på samme ark, MEN, når jeg stopper det ene og lader det andet kører, og så starter det igen starter det på samme tid som det andet ur :-(, de skulle jo gerne kører hver for sig og evt hele tiden hvis det er det man skal, og sidst men ikke mindst, jeg vil gerne have begge urer til at "logge" deres tid og dato på et ark2, jeg har set det brugt på en video, men har ikke kunnet knække koden hvis man kan sige det sådan.
Som det pt ser ud nu er som følgende
Public StopIt As Boolean Public ResetIt As Boolean Public LastTime Private Sub CommandButton1_Click() Dim StartTime, FinishTime, TotalTime, PauseTime StopIt = False ResetIt = False If Range("B8") = 0 Then StartTime = Timer PauseTime = 0 LastTime = 0 Else StartTime = 0 PauseTime = Timer End If StartIt: DoEvents If StopIt = True Then LastTime = TotalTime Exit Sub Else FinishTime = Timer TotalTime = FinishTime - StartTime + LastTime - PauseTime TTime = TotalTime * 100 HM = TTime Mod 100 TTime = TTime \ 100 hh = TTime \ 3600 TTime = TTime Mod 3600 MM = TTime \ 60 SS = TTime Mod 60 Range("B8").Value = Format(hh, "00") & ":" & Format(MM, "00") & ":" & Format(SS, "00") & "." & Format(HM, "00") If ResetIt = True Then Range("B8") = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00") LastTime = 0 PauseTime = 0 End End If GoTo StartIt End If End Sub Private Sub CommandButton2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) StopIt = True End Sub Private Sub CommandButton3_Click() Range("B8").Value = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00") LastTime = 0 ResetIt = True End Sub Public StopIt As Boolean Public ResetIt As Boolean Public LastTime Private Sub CommandButton4_Click() Dim StartTime, FinishTime, TotalTime, PauseTime StopIt = False ResetIt = False If Range("B12") = 0 Then StartTime = Timer PauseTime = 0 LastTime = 0 Else StartTime = 0 PauseTime = Timer End If StartIt: DoEvents If StopIt = True Then LastTime = TotalTime Exit Sub Else FinishTime = Timer TotalTime = FinishTime - StartTime + LastTime - PauseTime TTime = TotalTime * 100 HM = TTime Mod 100 TTime = TTime \ 100 hh = TTime \ 3600 TTime = TTime Mod 3600 MM = TTime \ 60 SS = TTime Mod 60 Range("B12").Value = Format(hh, "00") & ":" & Format(MM, "00") & ":" & Format(SS, "00") & "." & Format(HM, "00") If ResetIt = True Then Range("B12") = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00") LastTime = 0 PauseTime = 0 End End If GoTo StartIt End If End Sub Private Sub CommandButton5_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) StopIt = True End Sub Private Sub CommandButton6_Click() Range("B12").Value = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00") LastTime = 0 ResetIt = True End Sub
Jeg mener ikke du kan have to timere kørende samtidig. Flot kode iøvrigt ;-)
Private a As Boolean
Private Sub CommandButton1_Click() a = True Do While a Application.wait (Now + TimeValue("00:00:01")) DoEvents Range("B8") = Format(DateAdd("s", 1, Range("B8")), "hh:mm:ss") Loop End Sub
Private Sub CommandButton2_Click() a = False End Sub
Private Sub CommandButton3_Click() Range("B8") = "00:00:00" End Sub
Den virker fint,men, når jeg så skriver i et andet felt på arket stopper uret, og ja der er det med at der skal være to stopurer på samme side, og tiden skal logge på ark 2, i 2 "tidstabeller". Hvis man har to motorer der kører, og man skal logge drift tider på dem, håber du forstår. Tak for hjælpen
Så vit jeg ved, kan ikke makro ikke afspilles, når der redigeres i en celle. Så når du begynder at skrive i en celle, vil makroen og dermed uret stoppe.
Private Sub CommandButton1_Click() If Not IsEmpty(Sheets("Ark1").Range("D65536").End(xlUp).Offset(1, -1)) Then Exit Sub Sheets("Ark1").Range("C65536").End(xlUp).Offset(1, -1) = Date Sheets("Ark1").Range("C65536").End(xlUp).Offset(1, 0) = Time End Sub
Private Sub CommandButton2_Click() If IsEmpty(Sheets("Ark1").Range("D65536").End(xlUp).Offset(1, -1)) Then Exit Sub Sheets("Ark1").Range("D65536").End(xlUp).Offset(1, 0) = Time Sheets("Ark1").Range("D65536").End(xlUp).Offset(0, 1).FormulaR1C1 = "=RC[-1]-RC[-2]" End Sub
Se nu er vi ved at være inde på noget af det rigtige, tusinde tak, så må jeg se om jeg ikke kan få det sidste lagt sammen med. Tusinde tak for hjælpen
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.