Erstellungsdatum / Änderungsdatum in Excel

Operation

Newbie
Registriert
Jan. 2011
Beiträge
3
Hallo,

ich habe folgendes Realisierungsproblem, vor dem ich derzeit im Excel stehe.

Bin leider noch nicht so fit in VBA.

Also mein Aufgabe ist folgende:

Ich brauche eine Excelliste, die in einer Zelle das Erstelldatum der kompletten Zeile beinhaltet, sowie eine Zelle, die das Änderungsdatum der komplette Zeile beinhaltet.

Ist dies möglich?


Vielen Dank im Vorraus

Operation:freaky:
 
Sinn? Also, Excel speichert die Infos natürlich nicht in irgendeiner Variablen, weshalb du da schon selbst basteln darfst.

Für jedes Worksheet bei dem du hinterlegen willst, wann eine Zelle in einer Zeile zuletzt geändert wurde, legst du einen Eventhandler für die Change-Methode an. Sieht so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub

Mittels Target.Row bekommst du dann die Zeile, in der etwas geändert wurde, heraus. Das Datum kannst du dir auch per Funktion liefern lassen. Jetzt fehlt nur noch, dass du in der entsprechenden Zeile in einer von dir vorher ausgewählten Spalte das "Änderungsdatum" einsetzt. Tada.

Zum Erstelldatum: Jede Zeile bzw. Spalte existiert, sobald du das Worksheet anlegst.
 
Hallo Stefan,

vielen Dank für die schnelle Antwort.

Der Sinn ist folgender:

Die Liste soll eine Art Materialliste für den Engineeringprozess im Anlagenbau darstellen.

Zuerst wird eine Grobplanung der Anlage durchgeführt, anschließend eine Detailplanung.

Es werden also jederzeit Änderungen in der Liste von versch. Mitarbeitern vorgenommen. Damit man den Überblick behält, kam die Idee geänderte Zeilen mit einer Datumssignatur zu versehen.

MfG
 
Naja, gut. Das mit dem Änderungsdatum lässt sich ja schonmal abbilden. Wann die Zeile an der jeweiligen Stelle eingefügt wurde, könnte man dann ja per Hand eintragen.
 
Ich habe mal etwas herumprobiert und das Problem scheint gelöst:

Vllt kannst du ja nochmal herüberschauen, Danke


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1:a200")) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Interior.ColorIndex = 3
'Datum in Spalte C hinzufügen
Target.Offset(0, 2).Value = Date
Application.EnableEvents = True
End Sub

Dann den Makro zum entfärben der Felder;

Code:
Sub ZellenEntfärben()

Sheets("Tabelle1").Cells.Interior.ColorIndex = 0

End Sub


Und eine Funktion (Modul) zum eintragen des Erstellungsdatum in die jeweilige Zeile:


Code:
Function Erstelldatum()
erstelldatum = ActiveWorkbook.BuiltinDocumentProperties(11)
End Function


Die Funktion "Erstelldatum" rufe ich dann über die jeweilige Zeile mit "=Erstelldatum()" auf
Ergänzung ()

Ich habe noch folgendes Problem:

Ich möchte als "Target" mehrere Spalten ansprechen. Ich möchte sie logisch mit der ODER Operation verknüpfen.

Excel sagt aber dann, SUB NICHT DEFINIERT.

Woran liegt hier der Fehler:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, ODER(Range("a1:a200")), (Range("b1:b200"))) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Interior.ColorIndex = 3
'Datum in Spalte C hinzufügen
Target.Offset(0, 1).Value = Date
Application.EnableEvents = True
End Sub
 
Moin,

ohne darüber nachzudenken, was du wirklich erreichen willst ...
VBA only understands english, not germen :) => OR, not ODER
Davon abgesehen: Was in Tabellen klappt, haut in VBA noch lange SO nicht hin.
=WENN(ODER(A1=7;B2=33);"Ja";"Nein"
If Range("A1")=7 OR Range("B2")=33 Then Range("C3")="Ja" Else Range("C3")="Nein"
 
Zurück
Oben