Excel Datum einfügen?
Hallo,
ich bin gerade am erstellen einer Checkliste. Diese besitzt auch Kontrollkästchen.
Wenn etwas erledigt ist und ich somit das Kontrollkästchen anklicke, soll das Datum automatisch in die Zelle rechts davon eingetragen wird.
Das Datum soll dann aber statisch gespeichert werden, also sich nicht aktualisieren, wenn ich das worksheet schließe und wieder öffne.
Kann mir dabei wer helfen?
5 Antworten
Ich kenne nur die Variante, die Zelle nach Füllen des Datums auf den eindeutigen Wert festzulegen.
Wenn die Zelle als Ergebnis "=HEUTE()" beinhaltet und dadurch das Datum sichtbar wird, kann man mit F9 (vorher in die Zelle klicken, um sie zu bearbeiten) die automatische Funktion deaktivieren. Das geht natürlich nur, nachdem das Datum eingetragen wurde, also wahrscheinlich nicht die Lösung, die gewünscht ist.
wüsste nicht wie man das ohne vba machen kann. -> ist aber ein 3-6 zeiler (google hilft: "excel onclick date")
p.s. "STRG + : " (strg + doppelpunkt-taste) erzeugt das aktuelle datum und schreibt es statisch in die zelle -> kein update wenn man die datei wann anders öffnet.
Es gibt zwei Varianten von Checkboxen: Formularsteuerelement oder ActiveX?
Ich kann dir diese mit Datum und Uhrzeit posten: Hoffe du kannst damit was anfangen
1. Excel - Entwicklertools - Steuerelement Einfügen - Active X Kontrollkästchen einfügen
2. Im Entwurfsmodus Doppelklick auf Kontrollkästchen
3. Zwischen "Private Sub CheckBox21_Click()" und "End Sub" fügst du folgendes ein:
Range("B2").Value = Now

1) Füge die Kontrollkästchen als Formularsteuerelemente ein.
2) Verlinke sie auf die Zelle in der sie dargestellt werden (links von der Datumszelle) über die Eigenschaften des Kontrollkästchens
3) Im VBA-Editor überschreibst du folgendes Ereignis der Arbeitsmappe:
Private Sub Workbook_Open() Dim cb As CheckBox For Each cb In Sheets(1).CheckBoxes cb.OnAction = "DatumEintragen" Next End Sub
4) Füge ein Modul ein mit der Prozedur DatumEintragen
Sub DatumEintragen() Dim cb As CheckBox Dim rRightCell As Range Set cb = Sheets(1).CheckBoxes(Application.Caller) Set rRightCell = Sheets(1).Range(cb.LinkedCell).Offset(0, 1) ' cb.BottomRightCell geht leider nicht If cb.Value = 1 Then _ rRightCell.Value = Date End Sub
Verbesserung: Statt mit der verlinkten Zelle zu arbeiten, ist es besser, mit TopLeftCell zu arbeiten:
Statt
Set rRightCell = Sheets(1).Range(cb.LinkedCell).Offset(0, 1) besser
Set rRightCell = cb.TopLeftCell.Offset(0, 1)
(Alternativ zum Überschreiben des Workbook_Open Ereignisses kannst du auch das Makro "DatumEintragen" direkt dem Kontrollkästchen zuweisen [rechte Maustaste → Makro zuweisen...]. ^^)
Derzeit versuche ich als Formularsteuerelement