Excel Datum einfügen?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:eigene Erfahrung – Ich interessiere mich schon sehr lange für Computer
areaDELme  18.01.2017, 11:11

" STRG + : "

0

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 
Fragesteller
 18.01.2017, 11:48

Derzeit versuche ich als Formularsteuerelement

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

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