Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
760to764
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
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rückgängig nicht möglich

Rückgängig nicht möglich
03.05.2006 09:39:01
Benno
Hallo Forum
Ich habe eine Datei mit diversen Makros https://www.herber.de/bbs/user/33273.xls
Die Funktion Rückgängig ist nicht möglich, wenn man die Datei mit Makros aktivieren öffnet. Kann dies mit VBA umgangen werden, so dass die Funktion Rückgängig wieder verfügbar ist?
mfg
Benno

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rückgängig nicht möglich
03.05.2006 09:41:09
u_
Hallo,
Änderungen durch Makros kann man nicht rückgängig machen.
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
AW: Rückgängig nicht möglich
03.05.2006 12:32:30
Benno
Hallo
Hier liegt ein Missverständnis vor. Ich will nicht, dass Änderungen durch Makros rückgängig gemacht werden, sondern dass man manuelle Eingaben mit der Funktion rückgängig korrigieren kann. Ich habe andere Excel-Dateien mit Makros, wo diese Funktion nicht deaktiviert ist.
mfg
Benno
AW: Rückgängig nicht möglich
03.05.2006 12:25:36
Reinhard
Hi Benno,
das geht dchon, allerdings nicht Excel sondern du bzw ein Makro muss sich merken was geändert wurde und das dann wiederherstellen.
Ein Beispiel was das Löschen von A1 durch ein Makro wieder rückgegängig macht unter Bearbeiten---Rückgängig machen.
'mit Onrepeat geht es genauso wie mit Onundo.
Option Explicit
Dim Merker
Sub A1_Löschen()
Range("A1") = "Hello World"
Application.OnUndo "Rückg. Mach.", "A1_Wiederherstellen"
Merker = Range("A1")
Range("A1") = ""
End Sub
Sub A1_Wiederherstellen()
Range("A1") = Merker
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Rückgängig nicht möglich
03.05.2006 13:37:43
Benno
Hallo Rainhard
Danke für den Beitrag; er war für mich für mein aktuelles Problem allerdings nicht hilfreich. Habe um 12.32 einen neuen Beitrag geschrieben. Es geht mir nicht darum Aktionen, die durch ein Makro ausgelöst wurden, rückgängig zu machen sondern manuelle Eingaben.
mfg
Benno
AW: Rückgängig nicht möglich
03.05.2006 13:52:25
u_
Hallo,
hast du Worksheet_Change-Makros oder so laufen, irgendwas im Blatt machen? Dann wird die Rückgängig-History gelöscht. Kannst du nicht vermeiden.
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
AW: Rückgängig nicht möglich
03.05.2006 14:38:15
Benno
Ja, es hat ein Makro mit Worksheet_Change. Danke für die Info.
mfg
Benno
Anzeige
AW: Rückgängig nicht möglich
05.05.2006 12:06:19
Reinhard
Hi Benno,
dann müsstest du meinen Code in den Worksheet_change-Code einpassen.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Rückgängig nicht möglich
05.05.2006 15:00:08
Benno
Hi Reinhard
Wie müsste ich deinen Code genau einpassen. Mein Code ist:

Private Sub Worksheet_Change(ByVal Target As Range)
If ReadGlobalState = True Then Exit Sub
If Target.Column > 13 Then Exit Sub
If Target.Column = 1 Or Target.Column = 10 Or Target.Column = 11 Or Target.Column = 13 Then
Cells(Target.Row, 15) = Date
Cells(Target.Row, 16) = Time
Cells(Target.Row, 14) = Environ("Username")
Else: Exit Sub
End If
End Sub

mfg
Benno
Anzeige
AW: Rückgängig nicht möglich
05.05.2006 15:52:58
Reinhard
Hi Benno,
ungetestet:
Option Explicit
Public Merker(2)
Private Sub Worksheet_Change(ByVal Target As Range)
If ReadGlobalState = True Then Exit Sub
If Target.Column > 13 Then Exit Sub
If Target.Column = 1 Or Target.Column = 10 Or Target.Column = 11 Or Target.Column = 13 Then
Application.OnUndo "Rückg. Mach.", "Wiederherstellen"
Merker(0) = Cells(Target.Row, 14)
Merker(1) = Cells(Target.Row, 15)
Merker(2) = Cells(Target.Row, 16)
Cells(Target.Row, 15) = Date
Cells(Target.Row, 16) = Time
Cells(Target.Row, 14) = Environ("Username")
End If
End Sub
Sub Wiederherstellen()
Cells(Target.Row, 14) = Merker(0)
Cells(Target.Row, 15) = Merker(1)
Cells(Target.Row, 16) = Merker(2)
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Rückgängig nicht möglich
05.05.2006 16:01:07
Reinhard
Hi Benno,
habe es getestet, klappt nicht, auch mein Undo-Eintrag wird wohl gelöscht. Als workaround eine Schaltfläche und ihr das makro Wiederherstellen zuweisen.
Option Explicit
Public Merker1, Merker2, Merker3, Merker4
Private Sub Worksheet_Change(ByVal Target As Range)
If ReadGlobalState = True Then Exit Sub
If Target.Column > 13 Then Exit Sub
If Target.Column = 1 Or Target.Column = 10 Or Target.Column = 11 Or Target.Column = 13 Then
Merker1 = Cells(Target.Row, 14)
Merker2 = Cells(Target.Row, 15)
Merker3 = Cells(Target.Row, 16)
Merker4 = Target.Row
Cells(Target.Row, 15) = Date
Cells(Target.Row, 16) = Time
Cells(Target.Row, 14) = Environ("Username")
End If
End Sub
Sub Wiederherstellen()
Cells(Merker4, 14) = Merker1
Cells(Merker4, 15) = Merker2
Cells(Merker4, 16) = Merker3
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Rückgängig nicht möglich
05.05.2006 17:49:31
Benno
Hi Reinhard
Danke Dir für Deine Hilfe. Es klappt allerdings nicht bei mir. Ich weiss auch gar nicht, ob nicht ein grundsätzliches Missverständnis vorliegt. Ich habe einfach eine Tabelle mit diversen Makros. In diese Tabelle geben die User manuell Daten ein. Für diese Eingaben hätte ich am liebsten die "normale" Rückgängig-Funktion oder wenn nicht anders möglich eine Schaltfläche mit entsprechendem Code. Die Daten in Spalte 14 - 16 sind aber nicht manuell einzugeben. Wenn das Ganze aber zu kompliziert ist, lasse ich es bleiben.
mfg
Benno

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige