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

Änderungsindex

Änderungsindex
helena
Guten Morgen
habe ein kleines Problem, Code ist aus Archiv

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNew As Variant, vOld As Variant
Dim irow As Integer
If Intersect(Target, Range("A4:O80")) Is Nothing Then Exit Sub
vNew = Target.Value
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Application.Undo
vOld = Target.Value
Target.Value = vNew
With Worksheets("Protokoll")
irow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(irow, 1).Value = Target.Address(False, False)
.Cells(irow, 2).Value = "MA"
.Cells(irow, 3).Value = vOld
.Cells(irow, 4).Value = vNew
.Cells(irow, 5).Value = Date
.Cells(irow, 6).Value = Application.UserName
End With
ERRORHANDLER:
Application.EnableEvents = True
End Sub

möchte in Spalte 1 nicht die Adresse haben sondern denn Zellinhalt (A#)
in der geänderten Zeile
SINN und ZWECK ist ein Protokoll was hat WO/WANN geändert, durch umsortierung
oder Erweiterung stimmte Zellennummer nicht mehr aber Zellinhalt gibt aufschluss
beim welcher Person wurde geändert
Danke für Hilfe
gruss helena

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

Betreff
Benutzer
Anzeige
AW: Änderungsindex
Uwe
Hallo Helena,
ersetze
.Cells(irow, 1).Value = Target.Address(False, False)
durch
.Cells(irow, 1).Value = Target.Value
Gruß Uwe
AW: Änderungsindex
helena
Hallo Udo
Danke, habe dies schon getestet aber Zelle bleibt leer
d.h. übernimmt Value nicht
gruss helena
AW: Änderungsindex
Ulf
Wofür soll das gut sein?
Application.Undo
Ulf
AW: Änderungsindex
helena
Hallo Ulf
denke der den Code geschrieben wollte "Rückgängig machen einbauen"
habe dies bereits ausdokumentiert
ich hänge immer noch an dem Problem das von der geänderten zeile (Zelle)
den Wert aus der SPALTE A im Protokoll benötige
gruss helena
Anzeige
AW: Änderungsindex
Ulf
Du hast doch schon in Spalte C den Inhalt von target mit dieser zeile:
vOld = Target.Value
Das klappt aber nur, wenn target eine einzelne Zelle ist.
Du könntest eine zusätzliche Abfrage einbauen:
If Target.count 1 then msgbox "Bitte nur eine Zelle...."
Ulf
gelöst Änderungsindex
helena
Hallo Ulf

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNew As Variant, vOld As Variant, vMA As Variant, nam As Variant
Dim irow As Integer
If Intersect(Target, Range("A4:O80")) Is Nothing Then Exit Sub
vNew = Target.Value
vMA = Target.Row   ?NEU
nam = Range("A" & vMA) 'NEU
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
With Worksheets("Protokoll")
irow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
'.Unprotect Password:="pegutp"
.Cells(irow, 1).Value = Target.Address(False, False)
.Cells(irow, 2).Value = nam
.Cells(irow, 3).Value = vOld
.Cells(irow, 4).Value = vNew
.Cells(irow, 5).Value = Date
.Cells(irow, 6).Value = Application.UserName
'.Protect Password:="pegutp"
End With
ERRORHANDLER:
Application.EnableEvents = True
End Sub

DANKE
gruss helena
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige