Intelligente Zeiterfassung in Excel – So funktioniert’s wirklich

Wie kann ich in Excel eine automatische Zeiterfassung für Einfahrten und Ausfahrten optimal umsetzen?

Uhr

In der modernen Geschäftswelt spielt effizientes Zeitmanagement eine essentielle Rolle. Besonders die Zeiterfassung bei Einfahrten und Ausfahrten in Parkhäusern oder Firmengeländen stellt eine Herausforderung dar. Excel bietet hierbei eine Vielzahl an Möglichkeiten um diese Aufgabe zu automatisieren. Doch wie?


Zunächst einmal – die Frage der Automatisierung ist spannend. In dem vorliegenden Szenario wird eine Lösung beschrieben. Das Ziel ist klar: Bei der Eingabe einer Zahl in einer bestimmten Zelle soll die aktuelle Uhrzeit⏰ in einer benachbarten Zelle erscheinen. Gibt man die Zahl erneut ein so erscheint die Uhrzeit wieder allerdings diese soll in einer neuen Zeile aufgezeichnet werden, wenn sie ein drittes Mal eingegeben wird. Das ist durchaus möglich erfordert jedoch den Einsatz von VBA.


Um die beschriebene Funktionalität zu erreichen, können wir ein Makro erstellen. Es wird empfohlen – eine UserForm zu nutzen. Diese lässt sich einfach über einfeld und einen Button gestalten. Mit einem Label könnten ebenfalls wichtige Informationen wie der Name des Mitarbeiters neben der Eingabe angezeigt werden. Dies macht den Vorgang intuitiver. Man könnte das Ganze in drei Tabellenblätter unterteilen – Logbuch, Firmen und Zutritte.


Eine wichtige Frage stellt sich: Können auch Identifikationen eingetragen werden die keinen vordefinierten Mitarbeiter haben? Hier könnte die Möglichkeit bestehen: Dass auch Codes die nicht zugeordnet sind erfasst werden. Die Logik hinter den Codes müsste jedoch definiert werden.


Hier ein Beispielcode, den Sie nutzen könnten. Der Button des Makros ermöglicht das Eintragen der Zeiten. Beim Auslösen des Buttons wird der Logbucheintrag erstellt. In diesem Fall ist es entscheidend – die jeweiligen Zeilen und Spalten korrekt zu benennen. Die Programmierung selbst überprüft, ob es sich um eine Einfahrt oder eine Ausfahrt handelt, obwohl dabei der VLookup-Befehl genutzt wird. So können Firmennamen und andere Aussagen unkompliziert übernommen werden.


Private Sub CommandButton1_Click()


'logbuch schreiben


Dim wo_log As Long


Dim wo_zutritt As Long


Dim zutritt As Long


Dim logbuch As String


Dim zutritte As String


Dim firmen As String


logbuch = "Logbuch"


zutritte = "Zutritte"


firmendaten = "Firmen"


wo_log = Sheets(logbuch).Cells(Rows.Count, 1).End(xlUp).Row + 1


Sheets(logbuch).Cells(wo_log, 1).Value =Box1.Value


Sheets(logbuch).Cells(wo_log, 2).Value = Now()


'ein- und ausfahrt prüfen


wo_zutritt = Sheets(zutritte).Cells(Rows.Count, 1).End(xlUp).Row + 1


If WorksheetFunction.CountIf(Sheets(zutritte).Range("A:A"),Box1.Value) = 0 Then


Sheets(zutritte).Cells(wo_zutritt, 1).Value =Box1.Value


Sheets(zutritte).Cells(wo_zutritt, 2).Value = Now()


Exit Sub


End If


'wenn es einen Treffer gibt, diesen suchen


For i = wo_zutritt To 2 Step -1


If Sheets(zutritte).Cells(i, 1).Value =Box1.Value And Sheets(zutritte).Cells(i, 2).Value = "" Then


Sheets(zutritte).Cells(i, 2).Value = Now()


Exit Sub


End If


If Sheets(zutritte).Cells(i, 1).Value =Box1.Value Then


Sheets(zutritte).Cells(wo_zutritt, 1).Value =Box1.Value


Sheets(zutritte).Cells(wo_zutritt, 2).Value = Now()


Exit Sub


End If


Next i


End Sub



Diese Methode wird mit einem Makro ergänzt welches eine Prüfung einfügt um sicherzustellen: Dass bereits bekannte Codes nicht mehrmals eingetragen werden. Eine erste Überprüfung wäre für die Neuartigkeit der Codes von Vorteil. Diese Features optimieren den gesamten Prozess der Zeiterfassung erheblich.


Im modernen Excel gibt es jedoch eine gewisse Herausforderung, da die Anwendung keine fixierten Zeitfunktionen kennt. Dies könnte dazu führen: Dass bei einem zweiten Eintrag alle Zellen neu berechnet werden. Die Lösung liegt eindeutig in der Nutzung von VBA.


Möchten Sie in Zeitmanagement und Effizienz investieren? Der Einsatz von Excel mit diesen Makros könnte Ihre Arbeitsweise revolutionieren.