Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zeitaufnahme Verbleib in einzelnen Tabellenblättern

Forumthread: Zeitaufnahme Verbleib in einzelnen Tabellenblättern

Zeitaufnahme Verbleib in einzelnen Tabellenblättern
13.03.2025 16:07:00
Ralf
Würde gerne für ein digitales Shopfloor Board in Excel die Zeit, die in den einzelnen Tabellen Blättern verbracht wurde automatisch aufzeichnen zwecks anschließender Auswertung wo Zeiten optimiert werden könnten. Über hilfreiche Tipps wie man so etwas aufbaut würde ich mich freuen
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitaufnahme Verbleib in einzelnen Tabellenblättern
13.03.2025 16:36:14
{Boris}
Hi,

eine von sicher mehreren Möglichkeiten:

Leg in der Mappe ein Blatt "Auswertung" an.

Dort in
A1: Blattname
B1: Zeitpunkt
C1: Kommen/Gehen

In das Modul "DieseArbeitsmappe" diese Codezeilen reinkopieren:

Private Sub Workbook_Open()

Worksheets("Auswertung").Activate
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim lRow As Long
If Sh.Name > "Auswertung" Then
With Worksheets("Auswertung")
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(lRow + 1, 1) = Sh.Name
.Cells(lRow + 1, 2) = Now
.Cells(lRow + 1, 3) = "K"
End With
End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim lRow As Long
If Sh.Name > "Auswertung" Then
With Worksheets("Auswertung")
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(lRow + 1, 1) = Sh.Name
.Cells(lRow + 1, 2) = Now
.Cells(lRow + 1, 3) = "G"
End With
End If
End Sub


Damit wird jede Blattaktivierung entsprechend protokolliert (außer das Blatt "Auswertung").

Die einzelnen Dauern bekommst Du dann mit dieser Formel im Blatt "Auswertung" - hier für "Tabelle1":

=SUMME(SUMMEWENNS(B:B;A:A;"Tabelle1";C:C;{"G"."K"})*{1.-1})

An das entsprechende Uhrzeitformat denken (ggfls. mit Sekunden).

VG, Boris
Anzeige
AW: Zeitaufnahme Verbleib in einzelnen Tabellenblättern
13.03.2025 17:20:38
UweD
Hallo

in den Codebereich von DieseArbeitsmappe

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Dim Benutzer As String, LR As Long, i As Long, TBU As Worksheet, TB As Worksheet
Set TBU = Sheets("Übersicht")

With TBU
If Sh.Name > .Name Then
Benutzer = Environ("Username")

.Rows(2).Insert xlDown
.Cells(2, 1) = Benutzer
.Cells(2, 2) = Sh.Name
.Cells(2, 3) = "A"
.Cells(2, 4) = Format(Now, "YYYY.MM.DD hh:mm:ss")

End If
End With
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim Benutzer As String, LR As Long, i As Long, TBU As Worksheet, TB As Worksheet
Set TBU = Sheets("Übersicht")

With TBU
If Sh.Name > .Name Then
Benutzer = Environ("Username")

.Rows(2).Insert xlDown
.Cells(2, 1) = Benutzer
.Cells(2, 2) = Sh.Name
.Cells(2, 3) = "D"
.Cells(2, 4) = Format(Now, "YYYY.MM.DD hh:mm:ss")
.Cells(2, 5) = CDate(.Cells(2, 4)) - CDate(.Cells(3, 4))

End If
End With
End Sub


Dann ein Blatt anlegen: Name Übersicht
Arbeitsblatt mit dem Namen 'Übersicht'
 ABCDE
1UserBlattAktiviert / DeaktiviertZeitstempelDiff


Ergebnis wäre dann:
Arbeitsblatt mit dem Namen 'Übersicht'
 ABCDE
1UserBlattAktiviert / DeaktiviertZeitstempelDiff
2UweDTabelle1D2025.03.13 16:14:0600:00:01
3UweDTabelle1A2025.03.13 16:14:05 
4UweDTabelle3D2025.03.13 16:14:0500:00:04
5UweDTabelle3A2025.03.13 16:14:01 
6UweDTabelle1D2025.03.13 16:14:0100:00:07
7UweDTabelle1A2025.03.13 16:13:54 

LG UweD

Anzeige
AW: Zeitaufnahme Verbleib in einzelnen Tabellenblättern
13.03.2025 17:27:01
UweD
Ohne den Müll, vom testen

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

With Sheets("Übersicht")
If Sh.Name > .Name Then
.Rows(2).Insert xlDown
.Cells(2, 1) = Environ("Username")
.Cells(2, 2) = Sh.Name
.Cells(2, 3) = "A"
.Cells(2, 4) = Format(Now, "YYYY.MM.DD hh:mm:ss")
End If
End With
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
With Sheets("Übersicht")
If Sh.Name > .Name Then
.Rows(2).Insert xlDown
.Cells(2, 1) = Environ("Username")
.Cells(2, 2) = Sh.Name
.Cells(2, 3) = "D"
.Cells(2, 4) = Format(Now, "YYYY.MM.DD hh:mm:ss")
.Cells(2, 5) = CDate(.Cells(2, 4)) - CDate(.Cells(3, 4))
End If
End With
End Sub




LG UweD
Anzeige
AW: Zeitaufnahme Verbleib in einzelnen Tabellenblättern
14.03.2025 11:28:43
Ralf
erst einmal Danke ich für die Antworten
jetzt habe ich noch folgendes Problem... nach einfügen in das Modul bekomme ich es nicht aktiviert
AW: Zeitaufnahme Verbleib in einzelnen Tabellenblättern
14.03.2025 11:49:51
Ralf
beim Ausführen öffnet sich das "Makro Fenster" in dem nichts zur Auswahl steht
AW: Zeitaufnahme Verbleib in einzelnen Tabellenblättern
17.03.2025 09:01:23
UweD
Hallo

nicht in ein normales Modul sondern hier... DieseArbeitsmappe

Userbild


LG UweD
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18