Herbers Excel-Forum - das Archiv
Undo Funktion trotz Änderungsindex
Betrifft: Undo Funktion trotz Änderungsindex
von: Madman
Geschrieben am: 09.10.2003 11:08:58
Hallo Leute!
Habe folgendes Problem:
Durch ein Makro wird jede Änderung in einem seperaten Arbeitsblatt dokumentiert.(Das Makro stammt von hier, danke dafür!)Will ich diese Änderung rückgangig machen ist der Rückgängig-Button jedoch deaktiviert(grau)! Gibt es eine Möglichkeit dies zu ändern?Ich dachte da an die OnUndo- Funktion in Verbindung mit Worksheet_Change?
Hab mit Undo noch keine Erfahrung, brauche deshalb dringend Hilfe! Danke im Voraus!!!
Madman
Betrifft: AW: Undo Funktion trotz Änderungsindex
von: Hajo_Zi
Geschrieben am: 09.10.2003 11:14:45
Hallo Madman
sobald ein Makro ausgeführt wird sind die letzten Veränderungen gelöscht. Nach Deiner Beschreibung scheint es mir so, als ob ein Makro läuft.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
http://home.media-n.de/ziplies/
Betrifft: AW: Undo Funktion trotz Änderungsindex
von: Madman
Geschrieben am: 09.10.2003 11:19:08
Danke für die schnelle Antwort!
Hier einmal das Makro(eingefügt in deas jeweilige Tabellen-Objekt!):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNew As Variant, vOld As Variant
Dim irow As Integer
If Intersect(Target, Range("A1:ad500")) 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
.Unprotect password:="pegutp"
.Cells(irow, 1).Value = Target.Address(False, False)
.Cells(irow, 2).Value = "Teile- Maschinenübersicht"
.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
Kann man da evtl. über Variablen oder so nicht eine Art "Gedächtnis" für einige Werte einfügen und dann das Undo- Ereignis nutzen?