Guten Tag,
Ich habe ein VBA Makro zur Zeiterfassung geschrieben, leider ist seit der Anpassung an das heurige Jahr immer ein Laufzeitfehler 1004 beim aktivieren der Stop Taste aufgetreten.
dies ist der Aufruf beim Öffnen des Dokuments:
Public i As Variant
Public Sub Workbook_Open()
Sheets(Format(Now(), "MMM")).Activate
i = Range("A5000").End(xlUp).Row
Zeiterfassung.Show
Application.DisplayAlerts = True
End Sub
dies hingegen die für das Formular wo eine Datumsauswahl vorhanden ist, eine START-Taste, eine STOP-Taste und ein Abbrechen:
Public Sub UserForm_Initialize()
Datum.Value = Date
End Sub
Private Sub CmdAbort1_Click()
Unload Zeiterfassung
Application.DisplayAlerts = True
' Application.Quit
End Sub
Private Sub CmdStart_Click()
i = i + 1
10 If ActiveSheet.Cells(i, 1).Value = 0 And ActiveSheet.Cells(i, 2).Value = 0 And ActiveSheet.Cells(i, 3).Value = 0 Then
ActiveSheet.Cells(i, 1).Value = Format(Datum.Value, "dd.MM.yyyy")
ActiveSheet.Cells(i, 2).Value = Format(Now(), "hh:mm")
20 Else:
i = i + 1
GoTo 10
MsgBox "Irgend etwas stimmt hier nicht"
30 End If
Unload Zeiterfassung
ActiveWorkbook.Save
'Application.Quit
End Sub
Private Sub CmdStop_Click()
If ActiveSheet.Cells(i, 1) Like Format(Datum.Value, "dd.mm.yyyy") And ActiveSheet.Cells(i, 2) <> 0 And ActiveSheet.Cells(i, 3) = 0 Then
i = i
Else: i = i + 1
End If
ActiveSheet.Cells(i, 3) = Format(Now(), "hh:mm")
ActiveSheet.Cells(i, 4).Formula = "=C" & i & "-B" & i
Unload Zeiterfassung
Beschreibung.Show
End Sub
Beim Debuggen des Laufzeitfehlers 1004 wir die 1. Zeile der Private Sub CmdStop_Click() markiert. |