Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Zeiteintrag

    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

      


    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



      


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

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


      


    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 ...


      


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

    ...