VBA-Beispiel 127
mail schreiben
mail schreiben

Bearbeitungszeit

Speichert nach Rückfrage die Bearbeitungszeit einer Exceldatei.

Private Sub Workbook_Open()
  Call ZeitEintragen
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim intAntwort As Integer
Dim lngLZ As Long

intAntwort = MsgBox("Datei speichern?", vbYesNoCancel, "")

If intAntwort = 6 Then   ' 6 = Ja
  Call ZeitEintragen

  'letzte Zeile mit Inhalt Sp A
  lngLZ = wksDoku.Cells(Rows.Count, 1).End(xlUp).Row

  'Differenz in Sp C eintragen
  wksDoku.Cells(lngLZ, 3) = wksDoku.Cells(lngLZ, 2) _
                             - wksDoku.Cells(lngLZ - 1, 2)
  ThisWorkbook.Save

  MsgBox "Letzte Sitzung: " & vbTab & vbTab & _
              Format(wksDoku.Cells(lngLZ, 3), "h:mm:ss") & _
                              vbNewLine & vbNewLine & _
         "Gesamtbearbeitungszeit: " & vbTab & _
              Format(wksDoku.Cells(3, 5), "h:mm:ss"), , ""
End If

End Sub

Private Function ZeitEintragen()
Dim wks As Worksheet
Dim lngLZ As Long

Set wks = wksDoku

'erste leere Zelle Sp A
lngLZ = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1

'Datum
wks.Cells(lngLZ, 1) = Date

'Uhrzeit
wks.Cells(lngLZ, 2) = Format(Time(), "h:mm:ss")
wks.Cells(lngLZ, 2).NumberFormat = "h:mm:ss"

Set wks = Nothing

End Function


Download:   vba127.zip