Excel Datum einfügen?

...komplette Frage anzeigen

5 Antworten

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
Suboptimierer 18.01.2017, 11:50

(Alternativ zum Überschreiben des Workbook_Open Ereignisses kannst du auch das Makro "DatumEintragen" direkt dem Kontrollkästchen zuweisen [rechte Maustaste → Makro zuweisen...]. ^^)

1
Suboptimierer 18.01.2017, 11:59

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)
1

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.

areaDELme 18.01.2017, 11:11

" STRG + : "

0

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
 - (Computer, Microsoft, Excel)

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?

Carlos1995 18.01.2017, 11:48

Derzeit versuche ich als Formularsteuerelement

0

Was möchtest Du wissen?