Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zeiterfassungstabelle





Frage

Hi all, Ich habe versucht eine Zeiterfassungstabelle zu erstellen wobei ich durch Mausclick in der Spalte 1 das aktuelle Datum erfasse und in der Spalte 2 rsp. 3 die Start- und Stopzeit. Ich habs bis jetzt nicht hingekriegt aber vielleicht hat jemand eine Idee. Hampi

Antwort 1 von nighty

hi Hampi :)

wie gewuenscht :)

gruss nighty

click spalte a an und das datum erscheint automatisch ab der zweiten zeile(automatische abtastung auf ende)anschliessender sprung nach spalte b,warten auf doppelclick(doppelclick=zeit eintragung),sprung nach spalte c,warten auf doppelclick(doppelclick=zeit eintragung)

einzufuegen unter alt f11(vbeditor)/projektexplorer/DeineTabelle

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim alta, a, lzeile
Application.EnableEvents = False
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
a = LastCell.Row
Do While Application.CountA(Rows(a)) = 0 And a <> 1
a = a - 1
Loop
alta = a
lzeile = alta
If Cells(lzeile, 3) = "" And Cells(lzeile, 2) <> "" Then
Cells(lzeile, 3) = Time
End If
If Cells(lzeile, 2) = "" Then
Cells(lzeile, 2) = Time
Cells(lzeile, 3).Select
End If
Application.EnableEvents = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim alta, a, lzeile
Application.EnableEvents = False
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
a = LastCell.Row
Do While Application.CountA(Rows(a)) = 0 And a <> 1
a = a - 1
Loop
alta = a
lzeile = alta + 1
If Target.Column = 1 Then
With Sheets(1)
Cells(lzeile, 1) = Date
If Cells(lzeile, 2) = "" Then Cells(lzeile, 2).Select
If Cells(lzeile, 3) = "" And Cells(lzeile, 2) <> "" Then Cells(lzeile, 3).Select
End With
End If
Application.EnableEvents = True
End Sub


Antwort 2 von nighty

hi Hampi :)

ein wenig optimiert :)

gruss nighty

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 3) = "" And Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 2) <> "" Then
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 3) = Time
End If
If Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 2) = "" Then
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 2) = Time
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 3).Select
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1, 1) = Date
If Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 2) = "" Then _
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 2).Select
If Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 3) = "" And _
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 2) <> "" Then _
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 3).Select
End If
Application.EnableEvents = True
End Sub


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: