Microsoft Excel

Herbers Excel/VBA-Archiv

aktuelles Datum wenn Texteingabe in Spalte

Betrifft: aktuelles Datum wenn Texteingabe in Spalte von: kersten
Geschrieben am: 10.09.2004 08:01:13

Nach 24h stelle ich fest das das Datum täglich aktualisiert wird, Hm.
Und Sapoot hat in seiner Zusatzfrage schon darauf hingewiesen.

Das kleine Makro bezieht sich auf die Zelle C1, ich habe aber nun die komplette Spalte "C" nach unten mit der Formel [=wenn(c1="";"";heute())] aufgefüllt so das es auch D1; E1;..... betrifft.
Kann das Makro auch die Spalte abdecken?

Um es mal vollständig zu beschreiben:
Wir haben eine Aufgabenliste (ToDo). In diese haben wir immer ToDos für die Mitglieder eingetragen aber immer verpasst das aktuelle Datum einzutragen.
Datum Steht in Spalte "A", die Aufgaben in Spalte "C".
Schreibe ich in C eine neue Aufgabe soll das Datum des Eintrags fest fixiert in Spalte A eingetragen werden und da auch auf diesem Stand bleiben.
Würde ich nun eine Hilfszelle erstellen (z.B Spalte Z) und EINMALIG den Wert in Spalte A auslesen,würde dies funktionieren?
Ich könte auch die Tägliche Formel kopieren und als reiner Wert wieder eintragen,
aber ich denke (hoffe) mit eurer Unterstützung bekomme ich das Hin.

Danke Kersten

  


Betrifft: AW: aktuelles Datum wenn Texteingabe in Spalte von: kersten
Geschrieben am: 10.09.2004 08:17:11

Evtl. wäre mir ja geholfen wenn beim schliessen der Datei alle "heute" Daten in TEXT gewandelt werden !? Funst das?
Kersten


  


Betrifft: AW: aktuelles Datum wenn Texteingabe in Spalte von: WernerB.
Geschrieben am: 10.09.2004 08:22:09

Hallo Kersten,

das nachstehende Makro gehört in das Modul des entsprechenden Tabellenblattes. Bei Neueinträgen in der Spalte C muss die Zelle in der Spalte A leer sein (auch keine Formel!), dann sollte es funktionieren.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column <> 3 Then Exit Sub
    If Target.Cells.Count <> 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Target.Offset(0, -2).Value <> "" Then Exit Sub
    Target.Offset(0, -2).Value = Date
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !


  


Betrifft: AW: aktuelles Datum wenn Texteingabe in Spalte von: kersten
Geschrieben am: 10.09.2004 09:26:58

Hallo WernerB,
klappt wunderbar, danke.
Kurze Frage noch wenn nicht Spalte C sondern Q die Spalte welche.. ist welchen wert muss ich dan ändern?

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column <> 3 Then Exit Sub
    If Target.Cells.Count <> 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Target.Offset(0, -2).Value <> "" Then Exit Sub
    Target.Offset(0, -2).Value = Date
End Sub


Gruß Kersten


  


Betrifft: AW: aktuelles Datum wenn Texteingabe in Spalte von: WernerB.
Geschrieben am: 10.09.2004 10:07:19

Hallo Kersten,

If Target.Column <> 17 Then Exit Sub

Die "3" (= Spalte C) wird durch die "17" (= Spalte Q) ersetzt.


Gruß
WernerB.


  


Betrifft: AW: aktuelles Datum wenn Texteingabe in Spalte von: Harald E
Geschrieben am: 10.09.2004 09:17:05

Hallo Kersten,

rechte Maus auf Tabellenreiter. Code anzeigen und diesen Code ins rechte Fenster kopieren.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim RaBereich As Range, RaZelle As Range
    Set RaBereich = Range("C:C")
    Application.EnableEvents = False
    For Each RaZelle In Range(Target.Address)
        If Not Intersect(RaZelle, RaBereich) Is Nothing Then RaZelle.Offset(0, -2) = Date
    Next RaZelle
    Application.EnableEvents = True
    Set RaBereich = Nothing
End Sub


Egal was in Spalte A steht, sobald du in Spalte C Einträge vornimmst (oder löschst) wird 2 Spalten links davon (also Spalte A) das aktuelle Datum eingetragen.

Viel Erfolg
Harald


  


Betrifft: AW: aktuelles Datum wenn Texteingabe in Spalte von: Kersten
Geschrieben am: 10.09.2004 09:31:18

Danke auch dir Harald,
damit ist jetzt auch meine letzte Frage beantwortet!
Ich schreibe in Q und in A kommt das Datum, prima - Euer Forum ist echt Gut und super schnell !!!

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim RaBereich As Range, RaZelle As Range
    Set RaBereich = Range("Q:Q")
    Application.EnableEvents = False
    For Each RaZelle In Range(Target.Address)
        If Not Intersect(RaZelle, RaBereich) Is Nothing Then RaZelle.Offset(0, -16) = Date
    Next RaZelle
    Application.EnableEvents = True
    Set RaBereich = Nothing
End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "aktuelles Datum wenn Texteingabe in Spalte"