Zum Inhalt springen

Suche Hilfe bei einem Excel Makro (VBA): Zeitstempel


Empfohlene Beiträge

Geschrieben

Guten Tag Fliegergemeinde

 

Ich habe folgende Aufgabe:

 

In meinem Excel Sheet befindet sich auf den ersten vier Zeilen die Kopfzeilen. Ab der fünften Zeile befindet sich je Zeile ein neues System mit ca 50 Datensätzen (Spalten A bis Spalte BL). Anzahl Zeilen ist unbestimmt, also können immer wieder neue Systeme hinzukommen.

 

Ich möchte nun, sobald in einer Zelle eine Änderung gemacht wird, in der entsprechenden Zeile, in der Spalte AB einen Zeitstempel eintragen. Tönt Kompliziert? Beispiel: ich mache in der Zelle K5 eine Änderung, so möchte ich einen Zeitstempel in AB5 eintragen lassen. Wenn ich dann in C5 eine Änderung mache, möchte ich den vorhergeschriebenen Zeitstempel in AB5 überschreiben. Wenn ich eine Änderung in der Zelle C6 eine Änderung mache, möchte ich den Zeitstempel in AB6 eintragen, und so weiter.

 

Erster Ansatz:

 

Wenn Zirkelbezüge (Iteration) zugelassen werden kann man mit der Formel =WENN(C3<>"";WENN(B3="";JETZT();B3);"") überprüfen wann zB in der Zelle C3 einen Wert eingegeben wurde und diese Zeit dann in B3 ausgeben (genannte Formel in Zelle B3 schreiben).

 

Damit ist aber mein Problem noch nicht gelöst, da nur der Ersteintrag gestempelt wird.

 

Nun habe ich es mit meinen marginalen Programmierkenntnissen in VBA und google mit einem Makro versucht:

 

Private Sub Worksheet_Change(ByVal Target As Range)

 

If Target.AddressLocal(False, False) = "A5" Then

With Range("AB5")

.NumberFormat = "d/m/yy h:mm:ss;@"

.Value = Now()

End With

End If

 

If Target.AddressLocal(False, False) = "B5" Then

With Range("AB5")

.NumberFormat = "d/m/yy h:mm:ss;@"

.Value = Now()

End With

End If

 

If Target.AddressLocal(False, False) = "C5" Then

With Range("AB5")

.NumberFormat = "d/m/yy h:mm:ss;@"

.Value = Now()

End With

End If

 

If Target.AddressLocal(False, False) = "D5" Then

With Range("AB5")

.NumberFormat = "d/m/yy h:mm:ss;@"

.Value = Now()

End With

End If

 

und so weiter und so fort...

 

 

End Sub

 

Das Funktioniert so eigentlich auch, aber ist halt ein wahnsinns Aufwand jede Spalte zu erfassen. Zudem ist dies nur für die Zeile 5. Da ich ja nicht weiss wie viele Zeilen ich haben werde (möglicherweise einige Duzend), ist das auch nicht die definitive Lösung. Kann mir jemand helfen, dieses Makro übersichtlich und einfach zu gestalten? Bin wahnsinnig Dankbar für eure Hilfe.

 

Grüsse Philipp

 

Und noch ein Nachtrag an alle "...da gibt’s Haufenweise Excel-Fachforen!" Ja ich weiss, aber ich hole mir gerne Rat bei denen die ich kenne und vertraue.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...