Live-Forum - Die aktuellen Beiträge
Datum
Titel
06.12.2023 11:41:57
06.12.2023 10:11:06
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum/Autor für Eingabe mit "Historie" (vba)

Datum/Autor für Eingabe mit "Historie" (vba)
18.11.2008 17:52:05
Lukas
Hallo liebe Forumnutzer,
in meiner Unwissenheit wurde ich gebeten, folgendes umzusetzen:
In A5 wird ein Wert eingegeben, in A7 und A8 sollen einmal Autor und einmal Datum der Änderung notiert werden. Jetzt wird in A5 ein neuer Wert eingetragen, der alte Wert aus A5 soll inklusive Autor und Datum 2 Zeilen nach unten rutschen, u.s.w., sodass am Ende alle Werte mit ihrem Autor und Datum noch vorhanden sind. (Analog soll das für noch 4 weitere Spalten so funktionieren.)
Durch probieren und suchen habe ich folgendes hinbekommen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntTempArray As Variant
Dim strTargetAddress As String
Dim objCell As Range
If Not Intersect(Target, Range("A5:T5")) Is Nothing Then
vntTempArray = Target.Value2
strTargetAddress = Target.Address
Application.EnableEvents = False
Application.Undo
For Each objCell In Target
If Not Intersect(objCell, Range("A5:T5")) Is Nothing Then
objCell.Insert Shift:=xlShiftDown
objCell.Cut Destination:=objCell.Offset(1)
End If
Next
Range(strTargetAddress).Value2 = vntTempArray
Application.EnableEvents = True
End If
If Target.Column = 1 And Target.Cells.Count = 1 Then
Cells(Target.Row, 3) = Environ("USERNAME")
Cells(Target.Row, 4) = Now()
End If
If Target.Column = 5 And Target.Cells.Count = 1 Then
Cells(Target.Row, 7) = Environ("USERNAME")
Cells(Target.Row, 8) = Now()
End If
If Target.Column = 9 And Target.Cells.Count = 1 Then
Cells(Target.Row, 11) = Environ("USERNAME")
Cells(Target.Row, 12) = Now()
End If
If Target.Column = 13 And Target.Cells.Count = 1 Then
Cells(Target.Row, 15) = Environ("USERNAME")
Cells(Target.Row, 16) = Now()
End If
If Target.Column = 17 And Target.Cells.Count = 1 Then
Cells(Target.Row, 19) = Environ("USERNAME")
Cells(Target.Row, 20) = Now()
End If
End Sub


Das Problem ist jetzt, dass er mir den Autor und das Datum in die 7. Zeile schreibt anstatt der 5., wodurch es immer wieder überschrieben wird und nicht mit nach unten rutscht.
Also im Endeffekt sollen Datum und Autor in der 5. Zeile erscheinen, probieren hat auch nichts gebracht :-/
Beste Grüße und Dank im Voraus
Lukas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum/Autor für Eingabe mit "Historie" (vba)
18.11.2008 20:23:00
Roland
Hi Lukas,
warum nicht einfach so (in die entsprechende Tabelle):
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5")) Is Nothing Then
If Cells(8, 1)  Cells(5, 1) Then
Application.EnableEvents = False
Range(Cells(6, 1), Cells(8, 1)).Insert Shift:=xlDown
Cells(8, 1) = Cells(5, 1).Value
Cells(9, 1) = Environ("username")
Cells(10, 1) = Now()
Application.EnableEvents = True
End If
End If
End Sub


Für die weiteren Änderungen kannst Du weitere Blöcke á la . . .
If Not Intersect(Target, Range("A5")) Is Nothing Then . . .
End if
hinzufügen, du müsstest nur die Bereiche anpassen.
Gruß
Roland Hochhäuser

Anzeige
AW: Datum/Autor für Eingabe mit "Historie" (vba)
18.11.2008 23:26:00
Lukas
Hallo Roland, das funktioniert Super!! Vielen Dank für die schnelle Hilfe.
AW: Datum/Autor für Eingabe mit "Historie" (vba)
18.11.2008 23:30:00
Roland
Na dann: Gute Nacht ;-))
Roland Hochhäuser

318 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige