Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: per Klick das aktuelle Datum in Zelle einfügen

per Klick das aktuelle Datum in Zelle einfügen
25.07.2005 19:00:42
TeiZei
Hallo zusammen,
ich hab da mal ein Problem:
Ich möchte in einer rel. großen Excel-Datei (ca. 5000 Datensätze - nebst Auswertungsdatenblättern) in definierten Feldern nur durch anklicken des entsprechenden Feldes das aktuelle Datum einfügen und zwar so, dass auch am folgenden Tag immer noch das ursprüngliche Datum in der geklicken Excel-Zelle ist (und nicht der dann gültige Tag).
Klingt kompliziert aber es muss doch einen geben, der mir bei diesem Problem helfen kann!!!!!
Vielen Dank für euren investierten Hirnschmalz
TeiZei
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per Klick das aktuelle Datum in Zelle einfügen
25.07.2005 19:21:13
Christoph
Hallo
folgenden Code in das Klassenmodul des Tabellenblattes eingeben (Rechtsklick auf Tabellenreiter - "Code anzeigen" auswählen - und Code einfügen)
Bei Doppelklick in Spalte A wird das Datum eingetragen. Wenn du das in allen Zellen brauchst, dann lass die Zeile: "If Target..." weg
Gruß
Christoph
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 1 Then Exit Sub 'nur in SpalteA
Target = Date
End Sub

Anzeige
AW: per Klick das aktuelle Datum in Zelle einfügen
25.07.2005 19:25:05
Peter
Servus,
genauso ungenaue Antwort, wie Fragestellung ;) welche definierten Felder, usw.?
Muss vermutlich angepasst werden.


      
'Code mit Alt+F11 in das Tabellenblat kopieren, in dem es ausgelöst
'werden soll
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Hier wird bestimmt in welchen "definierten Bereichen" das Ereignis ausgelöst wird
If Target.Row <> 1 And Target.Column <> 1 Then Exit Sub
Target.Value = Date
Cancel = 
True
End Sub 


MfG Peter
Anzeige
AW: per Klick das aktuelle Datum in Zelle einfügen
25.07.2005 19:25:25
Reinhard
Hi teizei,
ungetestet:

Alt+F11,Doppelklick auf Tabelle1, Code reinkopieren, Editor schliessen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zellen 'k.A. wie man die deklariert
Dim n As Integer, vorh As Boolean
zellen = Array("A1", "A5", "A7")
For n = 0 To UBound(zellen)
If Target.Address(0, 0) = zellen(n) Then vorh = True
Next n
If vorh = False Or Target <> "" Then Exit Sub
Target = Date
End Sub

Gruß
Reinhard
Anzeige
nur mein Code erfüllt alle Beding. ;-)o.w.T
25.07.2005 19:27:42
Reinhard
Gruß
Reinhard
Richtig, vorallem das Ereignisauslösende Klick ;)
25.07.2005 19:55:46
Peter
o.w.t.
MfG Peter
Ich dachte mehr an das "feste" Datum :-) o.w.T.
25.07.2005 20:00:38
Reinhard
Gruß
Reinhard
Anzeige
dann warte mal bis morgen (owT)
25.07.2005 21:41:24
Christoph
Gruß
Christoph
AW: dann warte mal bis morgen (owT)
25.07.2005 23:05:59
Reinhard
Hallo Cristoph,
bei mit ist 27.7.2005
Frankfurt, 23:03, Frisur sitzt *g
und vor allem der Code funktioniert, habe nur die IF-Abfrage erweitert.
Wobei ich den Fehler nicht verstehe als ich zufällig A8:A9 auswählte, kam Fehler 13 in der If-Abfrage, aber warum, meiner Kenntnis nach wird vorjh=false abgefragt, da es falsch war müßte doch m.E. die Sub sofort verlassen werden ohne die andere Or Bedungung durhczuführen.
Wäre nett wenn mir das mal jmd. hier erklären könnte.
Gruß
Reinhard

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zellen 'k.A. wie man die deklariert
Dim n As Integer, vorh As Boolean
zellen = Array("A1", "A5", "A7")
For n = 0 To UBound(zellen)
If Target.Address(0, 0) = zellen(n) Then vorh = True
Next n
If vorh = False Or Target <> "" Or Target.Cells.Count > 1 Then Exit Sub
Target = Date
End Sub

Anzeige
AW: dann warte mal bis morgen (owT)
26.07.2005 20:45:51
Christoph
Hallo Reinhard,
mein Kommentar "dann warte mal bis morgen" war meine Antwort auf deinen Kommentar "Ich dachte mehr an das feste Datum". Das "feste" Datum wird mit "Target = Date" gesetzt, und das ist bei Peters, deiner und meiner Lösung der Fall.
Zu deinem "Fehler 13":
In einer If-Abfrage werden zuerst alle Fälle geprüft und anschließend mit dem Operator verknüpft.
Daher:

If vorh = False Then exit Sub
If Target <> "" Then exit Sub
If Target.Cells.Count > 1 Then Exit Sub

läuft
ebenso auch:

If Target <> "" Then exit Sub
If vorh = False Or Target.Cells.Count > 1 Then Exit Sub

aber nicht:

If vorh = False Or Target  "" Or Target.Cells.Count > 1 Then Exit Sub

da Target "" bei mehr als einer ausgewählten Zelle zu einem Fehler führt
Gruß
Christoph
Anzeige
AW: dann warte mal bis morgen (owT)
27.07.2005 15:18:59
Reinhard
Hallo Christoph,
dann hatte ich bisher völlig falsch gedacht.
Ich dachte (unabhängig von If), bei Or wird von links nach rechts "abgearbeitet"
Du hast Recht, aber wiederum verstehe ich Bills Logik nicht.
Als Pseudocode
Heute=Mi
Wenn Heute = Mi Oder Heute=xyz....
Aus welchem Grund wird, wennn doch schon die erste Bedingung zutrifft, noch die zweite überprüft.
Irgendwo in Dos-Batches, basic ist das so wie ich es denke.
Aber okay, ist halt so anscheinend.
Bill prüft die erste Bedingung dann die zweite Bedingung bis zur letzten Bedingung und wenn das die Millionste Bedingunng ist, dann fällt ihm auf dass die erste schon zutrifft und er führt den Dann-Zweig aus, kein Wunder dass MS-Programme so langsam sind.
Gruß
Reinhard
Anzeige
AW: per Klick das aktuelle Datum in Zelle einfügen
25.07.2005 20:13:30
Erich
Hallo TeiZei,
noch ein Angebot:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myListe, myBereich
If InStr(Target.Address, ":") Then Exit Sub
If Target <> "" Then Exit Sub
myListe = Array("A1", "A5", "A7", "B1:C5")
For Each myBereich In myListe
If Not Intersect(Target, Range(myBereich)) Is Nothing Then Target = Date
Next myBereich
End Sub

In myListe können auch ganze Bereiche vorgegeben werden, in denen bei Selektion das Datum rein soll.
Hi Reinhard, deine Lösung ist noch nicht ganz perfekt - sie läuft auf einen Fehler in der Zeile

If vorh = False Or Target  "" Then Exit Sub
wenn gleichzeitig mehrere Zellen auf dem Blatt selektiert werden.
(Target = "" funktioniert dann nicht.)
Meine Lösung ist sicher auch nicht perfekt...
Grüße aus Kamp-Lintfort
Erich
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Aktuelles Datum in Excel per Klick einfügen


Schritt-für-Schritt-Anleitung

Um das aktuelle Datum in eine Excel-Zelle per Klick einzufügen, kannst du ein einfaches VBA-Makro verwenden. Hier ist die Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke Alt + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Wähle das Tabellenblatt:

    • Doppelklicke auf den gewünschten Tabellenblatt-Namen im Projektfenster auf der linken Seite.
  3. Füge den folgenden Code ein:

    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       Dim myBereich As Range
       If InStr(Target.Address, ":") Then Exit Sub
       If Target <> "" Then Exit Sub
       Set myBereich = Range("A1,A5,A7") ' Definierte Felder
       If Not Intersect(Target, myBereich) Is Nothing Then Target = Date
    End Sub
  4. Schließe den VBA-Editor:

    • Schließe den Editor und kehre zu deinem Excel-Dokument zurück.
  5. Teste das Makro:

    • Klicke auf eine der definierten Zellen (A1, A5 oder A7), um das aktuelle Datum in die Zelle einzufügen.

Häufige Fehler und Lösungen

  • Fehler 13: Typenkonflikt:

    • Dieser Fehler kann auftreten, wenn mehrere Zellen gleichzeitig ausgewählt sind. Überprüfe, ob du nur eine Zelle ausgewählt hast.
  • Datum wird nicht eingefügt:

    • Stelle sicher, dass das Makro korrekt eingegeben wurde und die Zellen, in denen das Datum eingetragen werden soll, richtig definiert sind.
  • Das Datum aktualisiert sich automatisch:

    • Wenn du das Datum nicht automatisch aktualisieren möchtest, achte darauf, dass du Target = Date korrekt verwendest. Das Datum bleibt dann fix.

Alternative Methoden

  • Formel zur manuellen Eingabe:

    • Anstatt ein Makro zu verwenden, kannst du auch die Formel =HEUTE() in eine Zelle eingeben. Diese aktualisiert sich jedoch täglich.
  • Tastenkombination für das aktuelle Datum:

    • Du kannst das aktuelle Datum auch manuell mit der Tastenkombination Strg + ; (Semikolon) in eine Zelle einfügen.
  • Druckdatum einfügen:

    • Verwende die Funktion =JETZT() für das aktuelle Datum und die aktuelle Uhrzeit. Beachte, dass dies sich ebenfalls automatisch aktualisiert.

Praktische Beispiele

  • Beispiel 1: Wenn du das aktuelle Datum in Zelle B2 per Klick einfügen möchtest, kannst du den Code anpassen:

    Set myBereich = Range("B2")
  • Beispiel 2: Wenn du mehrere Zellen auf einmal definieren möchtest:

    Set myBereich = Range("A1,A2,B1:C3")
  • Beispiel 3: Um das aktuelle Datum nur bei bereits gefüllten Zellen einzufügen:

    If Target <> "" Then Exit Sub

Tipps für Profis

  • Automatisches Datum einfügen: Du kannst das Makro so anpassen, dass das Datum automatisch eingetragen wird, wenn eine bestimmte Bedingung erfüllt ist, z.B. wenn eine andere Zelle gefüllt wird.

  • Zellen formatieren: Stelle sicher, dass die Zellen, in die das Datum eingefügt wird, im Datumsformat formatiert sind, um die Darstellung zu optimieren.

  • VBA-Debugging: Nutze die Debugging-Tools im VBA-Editor, um Probleme schnell zu identifizieren und zu beheben.


FAQ: Häufige Fragen

1. Kann ich das aktuelle Datum automatisch aktualisieren? Ja, du kannst das aktuelle Datum automatisch aktualisieren, indem du die Formel =HEUTE() verwendest, jedoch bleibt es nicht fix.

2. Wie kann ich sicherstellen, dass das Datum nicht überschrieben wird? Du kannst die Bedingungen im VBA-Code so anpassen, dass das Datum nur eingetragen wird, wenn die Zelle leer ist.

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