Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeitstempel mittels Makro bei gesetztem Haken

Forumthread: Zeitstempel mittels Makro bei gesetztem Haken

Zeitstempel mittels Makro bei gesetztem Haken
23.03.2015 23:07:05
Christina
Hallo nochmal,
ich habe vor ein paar Tagen schon einmal folgende Frage hier gestellt, auf die ich eigentlich auch schon eine sehr gute Antwort bekommen habe.
Hier erstmal meine originäre Frage:
Hallo zusammen,
ich bin noch ein ziemlich blutiger Anfänger auf dem Gebiet, aber ich versuche nach und nach mich in die Materie einzuarbeiten… und weil ich insbesondere auf dieser Seite schon so oft von hilfsbereiten Menschen super Tipps gelesen habe, versuche ich es jetzt auch einmal:
Ich habe das Problem, dass ich gern in einer Excel Tabelle ein Kästchen zum Anhaken hätte und die Zeit, wann das Häckchen gesetzt wurde, gern protokollieren würde (fester Zeitstempel, „Jetzt ()“ funktioniert hier also nicht, weil sich die Zeit hier ja ständig aktualisieren würde).
Nun habe ich schon folgendes Makro, mit dessen Hilfe ich grds. erst einmal den Zeitstempel setzen kann eingegeben:
Function makro1_start()
´**Prozedur aufrufen
´Zeiteintragen
End Function
Sub Zeiteintragen()
Dim zeit As String
Zeit = Right (Now(), 8)
ActiveCell.FormulaR1C1 = zeit
Selection.NumberFormat = "hh:mm:ss“
End Sub

Diese Funktion würde dann ich in einer Wenn-Dann-Funktion verpacken und vorgeben, dass beim gesetztem Hacken im Kontrollkästchen (Formular Steuerelement) in Zelle C2 beispielsweise in Zelle C3 „WAHR“ stehen soll.
Die passende Funktion, die nun bewirken soll, dass in Zelle C4 der Zeitstempel kommt, würde nun wie folgt lauten: =WENN(C3=WAHR;Zeiteintragen();““)
Das funktioniert aber so leider nicht. Wenn der Haken nicht gesetzt ist, erscheint in Zelle C4 (wie gewollt) zwar nichts, aber wenn der Haken gesetzt ist erscheint immer nur „0“ bzw. 00:00:00 (je nachdem wie ich das Format der Zelle einstelle).
Was mache ich denn falsch?
Oder gibt es andere, womöglich einfachere Möglichkeiten zu meinem Ziel zu kommen?
Wichtig ist mir, dass zwischen dem jeweiligen Haken und Zelle mit dem Zeitstempel ein fester Zellbezug besteht (also beispielsweise der Haken in Zelle C3 zwingend den Zeitspempel in Zelle D3 nach sich zieht).
Ich wäre euch wirklich, wirklich dankbar, wenn ihr mir weiterhelfen könntet.
Viele Grüße
Christina
Nun habe ich das Problem, dass ich dieses Steuerelement gern fortlaufend in jeder Zeile benötige (für eine Art "Ablaufprotokoll"). Die Antwort, die ich letzten Freitag bekommen habe, war leider nur für ein einziges oder einige wenige Steuerelement(e) in der Excel-Tablle ausgelegt. Wie schaffe ich es denn, dass nicht nur der Haken in Zelle C3 zwingend den Zeitspempel in Zelle D3 nach sich zieht,sondern auch der Haken in Zelle C4 einen (eigenen, sich nicht aktualisierenden) Zeitstempel in Zelle D4 nach sich zieht)?
Ich wäre euch für eine Antwort wirklich, wirklich dankbar...
Nochmal viele Grüße
Christina

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitstempel mittels Makro bei gesetztem Haken
24.03.2015 08:32:32
Nepumuk
Hallo,
du musst aus der Sub "Zeiteintragen" eine Funktion machen. Beispiel:
Public Function Zeiteintragen() As Date
    Zeiteintragen = Time
End Function

Die Zellen musst du vorher formatieren !!!
Gruß
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeitstempel bei gesetztem Haken in Excel


Schritt-für-Schritt-Anleitung

  1. Erstelle ein Hakenfeld:

    • Öffne deine Excel-Tabelle und gehe zu "Entwicklertools".
    • Klicke auf "Einfügen" und wähle das "Kontrollkästchen" aus. Platziere es in Zelle C3.
  2. Makro erstellen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf "Einfügen" und wähle "Modul".
    • Füge den folgenden Code ein:
    Public Function Zeiteintragen() As Date
       Zeiteintragen = Time
    End Function
  3. Formatierung der Zellen:

    • Stelle sicher, dass die Zellen, in denen der Zeitstempel erscheinen soll (z.B. D3), im Zeitformat formatiert sind.
  4. Formel einfügen:

    • Gehe zurück zu deiner Excel-Tabelle und füge in Zelle D3 die folgende Formel ein:
      =WENN(C3=WAHR;Zeiteintragen();"")
  5. Fortlaufende Anwendung:

    • Kopiere das Kontrollkästchen und die Formel nach unten, um weitere Haken in Excel zu erstellen, die jeweils einen Zeitstempel in der entsprechenden Zeile setzen.

Häufige Fehler und Lösungen

  • Problem: Es erscheint „0“ oder „00:00:00“, wenn der Haken gesetzt ist.

    • Lösung: Stelle sicher, dass die Funktion Zeiteintragen korrekt definiert ist und die Zellen, in denen der Zeitstempel angezeigt werden soll, richtig formatiert sind.
  • Problem: Der Zeitstempel ändert sich, wenn der Haken erneut gesetzt wird.

    • Lösung: Überprüfe, ob du die Funktion richtig als Public Function definiert hast, und dass die Zelle, in der der Zeitstempel angezeigt wird, nicht automatisch aktualisiert wird.

Alternative Methoden

Wenn du einen Excel-Zeitstempel ohne Makro setzen möchtest, kannst du die Funktion =JETZT() verwenden, aber beachte, dass sich dieser Zeitstempel bei jeder Berechnung aktualisiert. Eine andere Möglichkeit besteht darin, mit VBA zu arbeiten, ohne eine Funktion zu nutzen, die direkt mit einem Hakenfeld verknüpft ist.


Praktische Beispiele

  1. Ein Hakenfeld in der Zeile 3:

    • Kontrollkästchen in C3, Zeitstempel in D3. Wenn du das Hakenfeld aktivierst, wird in D3 die aktuelle Uhrzeit angezeigt.
  2. Mehrere Hakenfelder:

    • Kontrollkästchen in den Zellen C3, C4, C5 usw. mit den entsprechenden Zeitstempeln in D3, D4, D5. Dies ermöglicht ein Ablaufprotokoll für verschiedene Einträge.

Tipps für Profis

  • Excel hacken: Nutze VBA, um benutzerdefinierte Funktionen zu erstellen, die mehr Kontrolle über deine Excel-Tabellen bieten.
  • Formeln kombinieren: Experimentiere mit anderen Excel-Funktionen in Kombination mit dem Hakenfeld, um komplexere Bedingungen zu erstellen.
  • Datenschutz: Achte darauf, dass deine Makros sicher sind, insbesondere wenn du deine Excel-Dateien mit anderen teilst.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Zeitstempel nicht aktualisiert wird? Um zu verhindern, dass der Zeitstempel sich ändert, musst du die Funktion als Public Function definieren und die Zelle im richtigen Format einstellen.

2. Kann ich mehrere Hakenfelder in einer Zeile verwenden? Ja, du kannst mehrere Hakenfelder in einer Zeile verwenden, solange du sicherstellst, dass die Formeln und Zellbezüge korrekt eingestellt sind, um die jeweiligen Zeitstempel zu setzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige