Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

automatisch Datum eintragen ohne aktualisieren

automatisch Datum eintragen ohne aktualisieren
01.02.2024 19:08:59
psi
Guten Abend

In meiner Exceltabelle werden in jeder Zeile (in Spalte R) verschiedene Bedingungen geprüft. Wenn die Bedingung erfüllt ist, soll das aktuelle Datum in Spalte S erscheinen. Dabei soll sich das Datum danach nicht weiter aktualisieren. Ich habe es mit folgendem Makro versucht, jedoch ohne Erfolg:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Set rng = Range("R2:R" & Cells(Rows.Count, "R").End(xlUp).Row)
If Not Intersect(Target, rng) Is Nothing Then
Application.EnableEvents = False
For Each cell In Intersect(Target, rng)
If cell.Value = True Then
If IsEmpty(cell.Offset(0, 1).Value) Then
cell.Offset(0, 1).Value = Date
cell.Offset(0, 1).NumberFormat = "TT.MM.JJJJ"
End If
End If
Next cell
Application.EnableEvents = True
End If
MsgBox "Makro wurde ausgelöst!"
End Sub

Das Makro wird ausgelöst, das Datum erscheint jedoch nicht.
Eine Beispieldatei habe ich ebenfalls hochgeladen.
Kann mir dabei jemand helfen?

Herzlichen Dank und beste Grüsse

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

Betreff
Datum
Anwender
Anzeige
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 19:59:08
Crazy Tom
moin

reicht es nicht schon so?

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Columns("R")) Is Nothing Then
If Target.Value = True Then
If IsEmpty(Target.Offset(0, 1).Value) Then
Target.Offset(0, 1).Value = Date
MsgBox "Makro wurde ausgelöst!"
End If
End If
End If
End Sub


mfg Tom
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:14:46
psi
Hallo Tom

Herzlichen Dank, aber leider funktioniert das nicht.
Hast du noch einen anderen Vorschlag?

liebe Grüsse
Anzeige
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:23:46
Crazy Tom
funktioniert nicht ist super

du hast ein Change-Ereignis gepostet
also gehe ich davon aus, dass da ein True in die Zelle geschrieben wird und darauf reagiert das Event
mit einer Beispieldatei wäre es möglicherweise gleich klar was wann wo stattfindet
aber die ist ja nicht da
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:58:35
Yal
Hallo Pascal,

Datei ist immer besser, auch wenn es den Vorname verrät...
In Spalte R gibt es eine Formel, die sich auf die Tabellenspalten "Status1", 2, 3, 4 bezieht. Darauf muss der "Target" validiert werden.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer
Dim Z As Range 'Z wie Zelle
Dim cell As Range

DoEvents 'es muss sichergestellt, dass die Berechnung in Spalte R stattgefunden hat
With ListObjects(1)
For i = 1 To 4
If Not Intersect(.ListColumns("Status" & i).DataBodyRange) Is Nothing Then
Application.EnableEvents = False
For Each Z In Target.Cells
If Z.Value Then
With Z.Offset(, 1)
.Value = Date
.NumberFormat = "DD.MM.YYYY"
Debug.Print "Treffer in " & .Address
End With
End If
Next
Application.EnableEvents = True
Exit Sub
End If
Next
End With
End Sub


VG
Yal
Anzeige
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:44:12
Crazy Tom
Hallo Uwe

mein Vorschlag

starte dieses Makro aus einem Standardmodul per Button

Sub datum_rein()

Dim i As Long
Dim lngLetzte As Long
lngLetzte = Cells(Rows.Count, "R").End(xlUp).Row
For i = 2 To lngLetzte
If Cells(i, "R").Value = True And IsEmpty(Cells(i, "S")) Then
Cells(i, "S").Value = Date
End If
Next
End Sub


mfg Tom
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:52:19
psi
Hallo Tom

Herzlichen Dank für deine Hilfe, ich habe das Makro mit einem Button verknüpft - funktioniert super!

liebe Grüsse Uwe
Anzeige
AW: VBA spricht englisch! "dd.mm.yyyy"
01.02.2024 20:02:40
Rolf

Gruß Rolf
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:14:30
Yal
Hallo psi (wenn Du deinen Posting mit einem "Gruß, Uwe" abschliesst, könnte man "Hallo Uwe" sagen ;-) Pseudo, das nicht jeder hat ist wiederum gut)


Wenn ich das richtig verstehe, hast Du in der Spalte R eine Formel. Sonst könnten keine Bedingungen geprüft werden. Eine Formelaktualisierung führt aber nicht zum Auslösen eine "Worksheet_Change"-Ereignis. Du müsstest alle Zellen überwachen, die zu diese Ergebnis in Spalte R dazuführt (wenn Formelverkettung, ann hoch bis zur "Quelle")

Du fügst als Ergebnis ein Datum in der Spalte S von allen geänderte Zeilen. Es würde daher ausreichen, vorher den Inhalt in Spalte S zu prüfen: wenn nicht leer, keine Aktualisierung. Aber eigentlich genau wie Du jetzt es machst.

Setze ein Haltepunkt (Menü "Debuggen", "Haltepunkt ein/aus" oder F9) und lass anschliessend den Code in Schritt-Modus laufen (F8), halte dabei das Lokal-Fenster offen (Menü "Ansicht", "Lokal-Fenster").
So kannst Du am besten überwachen, was passiert (und dabei viel über VBA lernen).

VG
Yal



Anzeige
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:27:02
psi
Hallo Yal

Herzlichen Dank für deine Hilfe.
Zu deiner Frage: Ja in der Spalte R werden verschiedene Bedingungen geprüft, dabei sollte jedoch in jeder Zeile das Datum erscheinen sobald die Bedingung erfüllt ist. - Bzw. sobald der letzte Task abgeschlossen ist.
Du meinst ich müsste die gesamte Tabelle von D2 bis P13 überwachen, damit das Datum in der Spalte S eingetragen wird?

Gruss Uwe ;)
AW: automatisch Datum eintragen ohne aktualisieren
01.02.2024 20:43:26
Yal
Hallo Uwe*,

wenn in Zelle R5 ein
=ODER(A5;B5;C5)
steht, dann muss "Worksheet_Change" die Änderung in den Zelle A5, B5 und C5 beobachten.

*: manche Schüler kopieren tatsächlich sogar bis auf dem Namen des Sitznachbars. Ein Halbe-Punkte für das konsquente Handeln!

VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige