Das Archiv des Excel-Forums

Zeiteintrag

Bild

Betrifft: Zeiteintrag
von: Bernd

Geschrieben am: 01.10.2003 23:42:32

Hallo zusammen,
ich habe gleich mehrere Probleme:
1. In D1 soll die Zeit (hh:mm) erscheinen, wenn in A1 ein Wert eingetragen wird.
D2 / A2, D3 / A3, usw. Ich möchte sehen, wann welche Werte eingetragen wurden.

2. Die Werte in Spalte A sind unterschiedlich groß, kann ich diese Werte alle 5 Minuten automatisch sortieren lassen?

3. Wenn ich die Datei öffne, würde ich gerne eine Abfrage haben, ob ich die Werte aus Spalte A löschen will, und wenn ja das diese dann auch gelöscht werden.

Ich hoffe, Ihr könnt mir da weiter helfen

Bernd
Bild


Betrifft: AW: Zeiteintrag
von: heinz
Geschrieben am: 02.10.2003 00:47:13

hab mal was gebastelt, musst halt noch anpassen evtl. kleine
fehler korrigieren
die werte stehn also in tabelle1 spalte a, in d wird zur eingabezeit
diese hinzugefügt, alle 10 sekunden (wie gesagt anpassen) wird sortiert
usw.
hier mal der code, anbei die basteldatei (hat jetzt nicht geklappt,
probiers später noch mal)

Option Explicit

Workbook Ereignis:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime start, "sortieren", , False
End Sub



Private Sub Workbook_Open()
Dim antwort
antwort = MsgBox("Wollen Sie die Werte in Spalte A löschen?", vbYesNo, "Frage...")
If antwort = vbYes Then
Tabelle1.Columns(1).ClearContents
Tabelle1.Columns(4).ClearContents
End If
sortieren
End Sub


Worksheet Ereignis:

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 3) = Format(Now(), "hh:mm")
End If
End Sub


in Modul:

Option Explicit
Public start

Sub sortieren()
start = Now + TimeValue("00:00:10")
Application.OnTime start, "sortieren"
Tabelle1.Range("a1:d33333").Sort Tabelle1.Range("a1")
End Sub



Bild


Betrifft: AW: Zeiteintrag
von: heinz
Geschrieben am: 02.10.2003 00:51:28

https://www.herber.de/bbs/user/1232.xls


Bild


Betrifft: AW: Zeiteintrag
von: udo
Geschrieben am: 02.10.2003 00:54:31

Hallo Bernd,

hab dir schon mal was für dein 1. Problem.

Kopier dir folgendes Makro in dein Tabellenblatt
( Tabellenblatt mit rechtsklick auf den Blattnamen, CODE anzeigen, und da reinkopiern )

--------------------


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Ende:
If Target.Column = 2 Then
Cells(ActiveCell.Row, 4).Activate
ActiveCell = Now
Cells(ActiveCell.Row1, 1).Select
Exit Sub
End If
Ende:
End Sub


------------------------------

zusätzlich musst du noch über Register Extras, optionen , Bearbeiten, den Wechsel von Return nach rechts stellen ( nicht nach unten ).

Im oberen Beispiel ist die Spalte B ein Hilfsspalte, die , sobald sie angewählt wird, sei es direkt mit der Maus, oder eben durch Return aus Spalte A ( eben nach rechts ), dann wird in Spalte D die aktuelle Zeit des Eintrages in A eingeschrieben.

Deine Spalte D musst du halt noch formatieren hh:mm:ss, dann zeigts dir auch die Sekunden an usw.

Gruß udo

Ps Spalte B kann man evt. ausblenden musst mal probiern ...


Bild


Betrifft: Vorschlag von Heinz ist besser, super , Gruß
von: udo
Geschrieben am: 02.10.2003 00:57:22

...


 Bild