Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
392to396
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
392to396
392to396
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

automatischer Eintrag des Datums

automatischer Eintrag des Datums
03.03.2004 21:25:45
Winfried Fuchs
Ich führe eine Tabelle auf welche viele Anwender Zugriff haben. Die Anwender müssen Aufgaben innerhalb eines bestimmten Zeitraumes erfüllen und bestätigen. Ich möchte deshalb dass das Bestätigungsdatum nicht vom Anwender, sondern automatisch eingetragen wird.
Problem: Wenn die Zellen "x" und "y" ausgefüllt wurden, dann wird in Zelle "z" das aktuelle Datum eingetragen. Die "wenn dann "heute()" Formel geht nicht, da das Datum veränderlich ist. Ein Makro könnte beim Verlassen der Tabelle ausgelöst werden, aber ich kann es nicht programieren, da die Zeilen in willürlicher Reihenfolge ausgefüllt werden können.
Kann mir jemand helfen?
Winfried

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: automatischer Eintrag des Datums
03.03.2004 22:02:05
Roland Hochhäuser
Hallo Winfried,
du müsstest schon genau sagen, wann das Datum eingetragen werden soll; du hast mehrere Möglichkeiten erwähnt:
- beim "Verlassen" der Tabelle=> geht, aber dann wirst du immer ein neues Datum bekommen, wenn die Tabelle auch nur angesehen wird, ohne dass Daten zwangsläufig verändert worden sein müssen (scheidet also aus, oder?)
- nachdem die Zellen x und / oder y geändert worden sind => geht auch, dann müsstest du nur abschließend sagen, um welche Zellen es sich konkret handelt (z.B. A3 und C19 o.ä.)
- außerdem: willst du wirklich nur das Datum (Tag, Monat, Jahr) oder (mutmaßlich auch) die Uhrzeit haben (in welcher Zelle)?
Gruß
Roland
Anzeige
AW: automatischer Eintrag des Datums
03.03.2004 22:04:21
Christoph
Hi Winfried,
trage das folgende Makro in das betreffende Arbeitsblatt(Tabelle) ein:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 25 Then Exit Sub ' Eintrag in Spalte y betätigt den Auslöser
'wenn in Spalte x bereits was eingetragen wurde und in Spalte y ein neuer Einrag
'erfolgt, dann in Spalte Z das jetzt aktuelle Datum eintragen und "einfrieren":
If Target.Offset(0, -1) <> "" Then
With Target.Offset(0, 1)
.FormulaR1C1 = "=TODAY()"
.Copy
.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
End If
End Sub

Gruß
Christoph
Anzeige
AW: automatischer Eintrag des Datums
04.03.2004 20:52:53
Winfried
Hallo Roland und Christoph,
Danke dass Ihr mir helfen wollt.
Zum besseren Verständnis für Roland: Es ist scheissegal wann das Makro oder die Formel ausgelöst wird. Wichtig ist, dass der Anwender beide Einträge, x und y gemacht haben muss und danach in z das Datum des Eintrags erscheint damit niemand bescheissen kann. Die Uhrzeit ist unnötig.
Die Lösung von Christoph flöst mir Vertrauen ein, den 2. Teil der Formel mit Kopieren-Werte einfügen usw verstehe ich, aber den Anfang nicht. Da bin ich einfach zu unbedarft, folglich hat es nicht funktioniert. Wo trage ich den Tabellennamen und Spalte ein? Muss ich nicht noch ein Sub Worbook_beforeClose() einfügen? Kannst du mir da noch auf die Sprünge helfen?
Meine Datei heisst "Korrekturmaßnahmen", das Tabellenblatt "Liste Maßnahmen" vom Anwender auszufüllende Spalten sind "J" und "K", das Datum kommt in Spalte "M".
Danke nochmals
Winfried
Anzeige
AW: automatischer Eintrag des Datums
04.03.2004 22:16:59
Christoph
Hi Winfried,
ich bin bei deiner Formulierung von "x, y, und z" von den Spalten-Namen ausgegangen.
In sofern habe ich im Makro geschrieben, dass ein Eintrag in SpalteX vorhanden sein muss, und wenn dann eine Änderung in SpalteY passiert, wird das heute aktuelle Datum
in SpalteZ eingetragen.
Das passiert alles in der "Worksheet_Change-Anweisung", dass heisst, wenn du im aktuellen Tabellenblatt deiner Exceldatei eine Änderung in SpalteY vornimmst, wird das Makro ausgelöst - unabhängig vom Dateinamen, weil "WorkSheet" und nicht "Workbook".
Daher: die Worksheet-Change-Anweisung ist auf SpalteY (=Spalte25) begrenzt:
"If Target.Column <> 25 Then Exit Sub"
Wenn in SpalteX (also eine Spalte links von SpalteY - entspricht: "Target.Offset(0, -1)")
etwas eingetragen ist und sich in der "Target-Spalte" (=SpalteY) etwas ändert, dann passiert etwas eine Spalte rechts von der "Target-Spalte" (- entspricht: "Target.Offset(0, 1)"), also in der Spalte Z.
In deinem Fall, wenn jetzt die Spalten: J, K und M die relevanten Spalten sind,
würde das Makro lauten:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 11 Then Exit Sub
If Target.Offset(0, -1) <> "" Then
With Target.Offset(0, 2)
.FormulaR1C1 = "=TODAY()"
.Copy
.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
End If
End Sub

Das ganze könnte noch verfeinert werden, im Sinne von:
Wenn in Spalte M schon ein Datum eingetragen ist, dann führe das Makro nicht aus.
Bsp:
"If Target.Offset(0, -1) <> "" And _
Target.Offset(0, 2) = "" Then
"
Des Weiteren wäre es möglich, die Einträge in Spalte M nicht mehr ändern zu können.
(Bsp: über ein Makro, dass den Blattschutz aktiviert) etc. etc.
mit der Hoffnung, dir geholfen zu haben
Gruß
Christoph
Anzeige
AW: automatischer Eintrag des Datums
05.03.2004 18:44:16
Winfried
Mensch Christoph, das war eine Hilfe wie vom andern Stern. Echt der Hammer. Hat mein Problem gelöst und ich habe noch dazugelernt.
Vielen Dank dass Du dir die Zeit genommen hast
Winfried
Danke für die Rückmeldung
05.03.2004 20:09:38
Christoph
Hi Winfried,
ich hab hier auch schon viel gelernt -
ich helfe gern.
Chistoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige