Anzeige
Archiv - Navigation
1664to1668
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
Inhaltsverzeichnis

Rückgängig unmöglich - Undo.Methode aus?

Rückgängig unmöglich - Undo.Methode aus?
04.01.2019 09:13:24
STeve
Guten Morgen liebe Profis.....hab weder in der Recherche - noch Google Lösung gefunden.
Problemstellung: große Datei mit vielen Excelberechnungen. Nach manuellem Eintrag drücken User die "Rückgängig- Taste" in der Schnellstartleiste (APPLICATION.UNDO - Methode)- Programmabsturz!!!
Möchte - über VBA - z.B. Workbook.open - die Schnellstartleiste "ausgrauen" oder "ausschalten".
Fazit sollte sein: Rückgängig machen durch User - nicht mehr möglich!!!
Besten Dank und mfg
STeve

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Rückgängig unmöglich - UndoHistory auf 0
04.01.2019 11:48:52
Matthias
Hallo Steve
Du könntest das über den Registrierungseditor umsetzen.
unter UndoHistory kannst Du die Schritte einstellen.
Trägst Du dort eine 0 (Null) ein, so kannst Du keine Schritte rückgängig machen
Gibts UndoHistory noch nicht, so lege diesen Eintrag an.
Ausführen:
Regedit
Gehe dort zu:
Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options
Userbild
Die Versionsnummer kann natürlich abweichen. Bei mir 16.0
Nun musst Du Excel neu starten.
Gruß Matthias
Anzeige
AW: Rückgängig unmöglich - UndoHistory auf 0
04.01.2019 12:56:45
STeve
Hi Matthias.......danke für deinen schnellen Tipp.
......aber das ist eine PC/Rechner Einstellung.......die kann ich ja nicht bei allen Usern - die mit der besagten Datei/Mappe arbeiten - einstellen.
d.h. diese - und nur diese - Mappe muss über VBA so eingestellt/programmiert sein dass keiner die Taste drücken kann.
also sowas wie einen
Workbook.open oder
Worksheet.Change
Code: Application.Undo = ausgegraut ?
Undo.Speicher = delete ?
Besten Dank für Tipps/Lösungen
lg STeve
AW: Application.CutCopyMode = false
04.01.2019 13:34:44
Fennek
Hallo,
versuche den genannte Befehl in "Change_Selection"-Event.
mfg
Anzeige
AW: Application.CutCopyMode = false
04.01.2019 15:51:59
STeve
Hi Fennek...............Danke für deine Hilfe:
Wie müsste der Befehl lauten:
Application.Undo.Delete...........geht nicht!!!
?
Danke STeve
einfach ein "Makro" starten ...
04.01.2019 13:58:56
Matthias
Hallo
Du hast nichts geschrieben, von verschiedenen Computern.
Ich nahm an es handelt sich um einen Rechner an dem verschiedene User arbeiten.
Abhilfe schafft da ein "Makro"
Gibt ein User in eine Zelle einen Text ein, so kannst Du ein Makro starten
das den Text der schon in der Zelle steht nochmal mit dem gleichen Text überschreibt.
Damit wird Undo deaktiviert.
z.B
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True 'nur zur Sicherheit
Application.EnableEvents = False
ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1
Application.EnableEvents = True
End Sub
Probiers mal mit einer leeren neuen Mappe
Gruß Matthias
Anzeige
AW: einfach ein "Makro" starten ...
04.01.2019 15:50:01
STeve
Hi Matthias..... ok Sorry. Hab ich vergessen anzumerken.
Dein Tipp klappt nicht weder in:
Private Sub Worksheet_Change(ByVal Target As Range)
noch in

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Rückgängig Button ist immer aktiv?
lg
Habe Excel 2010..... bei mir nicht?
04.01.2019 16:11:20
STeve
Hmmmmmmm.........bei mir nicht...Rückgängig Pfeil wird blau und Schritt lässt sich rückgängig machen!!!
Hast du eine Idee wieso?
glg STeve
Anzeige
AW: Habe Excel 2010..... bei mir nicht?
04.01.2019 16:29:51
Daniel
Hi
das hat nichts mit der Excelverison zu tun, sondern damit, dass ein .Formula = .Formula nur dann eine Wirkung hat, wenn die entsprechende Zelle auch einen Wert oder eine Formel hat.
Führt man das mit einer Leerzelle aus, passiert nichts, auch der Rückgängigspeicher wird nicht gelöscht.
Wenn man jetzt sein Excel so eingestellt hat, dass nach Eingabe eines Wertes in eine Zelle die nächste Nachbarzelle (in der Regel die rechte oder untere) muss man weiterhin beachten dass die ActiveCell dann diese Zelle ist und nicht die Zelle, die geändert wurde und somit durchaus eine Leerzelle sein kann.
Ich würde hier folgendes ausführen um den Rückgängigspeicher zurückzusezten:
Cells.SpecialCells(xlcelltypelastCell).Offset(0, 1).ClearContentens
das .ClearContents setzt den Rückgängigspeicher auf jeden Fall zurück und die rechte Nachbarzelle der letzten benutzen Zelle ist auch immer eine Leerzelle, so dass keine Veränderung der Zellinhalte stattfindet.
Gruß Daniel
Anzeige
AW: Habe Excel 2010..... bei mir nicht?
04.01.2019 16:42:26
STeve
Hallo Daniel......Excel Version war von mir mal ein "Schuß ins Blaue" ;-)
OK..danke
Wo
muss ich den deinen Code:
Cells.SpecialCells(xlcelltypelastCell).Offset(0, 1).ClearContentens
einfügen (?) damit das Ding funzt?
Danke
AW: Habe Excel 2010..... bei mir nicht?
04.01.2019 16:45:40
Daniel
HI
naja, anstelle dem ActiveCell.Formula = ActiveCell.Formula.
(da könnte man aber bei dem "Mega-Code" auch selber draufkommen, wenn man sich die Mühe macht, die paar Programmzeilen mal zu lesen)
gruß Daniel
AW: Habe Excel 2010..... bei mir nicht?
04.01.2019 16:55:17
STeve
Hi Daniel ....natürlich dachte ich mir das und habe ich das auch probiert:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True 'nur zur Sicherheit
Application.EnableEvents = False
Cells.SpecialCells(xlCellTypeLastCell).Offset(0, 1).ClearContentens
Application.EnableEvents = True
End Sub
ging und geht aber nicht....deshalb die Nachfrage.
mfg
Anzeige
nicht ... ClearContentens
04.01.2019 16:57:11
Matthias
.
AW: Habe Excel 2010..... bei mir nicht?
04.01.2019 17:04:39
Daniel
Hi
"geht nicht" ist als Fehlerberschreibung ungefähr so hilfreich wie "machs besser" als Hilfestellung.
du solltest dann schon beschreiben, was genau passiert, dh gibts ne Fehlermeldung, wenn ja welche und in welcher Zeile tritt sie auf?
wenn nein, was passiert und was sollte denn passieren?
Eine Empfehlung von mir ist, da doch immer wieder leicht Tippfehler passieren, den Code nicht einfach zu kopieren, sondern unter zu Hilfenahme der Intellisense selber zu schreiben (zumindest die Codezeilen, die als Fehlerhaft ausgewiesen werden) und so die Tippfehler zu vermeiden.
wenn gar nichts passiert, könnte es sein, dass es nach dem Befehl Application.EnableEvents = False einen Fehlerabbruch gab.
Dann bleiben die Automatischen Events dekativiert und du musst sie erst wieder einschalten, indem du du im Direktfenster den Befehl Application.EnableEvents = True ausführst.
Gruß Daniel
Anzeige
ClearContents ! nicht ClearContentens
04.01.2019 16:56:02
Matthias
.
AW: ClearContents ! nicht ClearContentens
04.01.2019 17:06:41
STeve
Ahaaaaaaaa....Danke Matthias........habe das aber von Daniels Eintrag so übernommen........
versuche ich gleich mal.
lg
dann ist 2010 eine seltame Version
04.01.2019 16:33:21
Matthias
Hallo
Habe das jetzt mit Version 16.0 (Office 365)
und mit 12.0 (XL2007) getestet. Funktioniert in beiden Versionen.
Hier das Bild mit xl2007
Userbild
Sorry, mehr kann ich nicht für Dich tun.
Waren denn Makros auch aktiviert?
Gruß Matthias
nimm statt Activecell -> Target
04.01.2019 16:42:02
Matthias
Hallo
Probiers mal so:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True 'nur zur Sicherheit
Application.EnableEvents = False
Target.FormulaR1C1 = Target.FormulaR1C1
Application.EnableEvents = True
End Sub
Gruß Matthias
Anzeige
Dann bleibt der Rückgängigspeicher erhalten
04.01.2019 16:50:55
Daniel
Hi
wenn du den Zellinhalt mit ENTFERNEN löschst.
Gruß Daniel
AW: Dann bleibt der Rückgängigspeicher erhalten
04.01.2019 17:04:19
STeve
Hi Matthias.......das ist schon mal gut.Danke .... :-) funzt bei mir.
...aber super wäre: wenn er nicht nur den letzten Schritt ausgraut ..sondern auch die davor.
Eintrag:
A1 = Hallo
A2 = Hallo
...dann A2 mit Entfernen löschen - wird der RückgängigPfeil wieder blau....und ich kann wieder drauf klicken....
mfg
AW: Dann bleibt der Rückgängigspeicher erhalten
04.01.2019 17:11:22
Daniel
Hi
wenn der Rückgängigspeicher gelöscht wird, dann wird er vollständig gelöscht.
lies dir meinen ersten Beitrag nochmal durch, dann solltest du wissen, warum nach einem Löschen der Zellinhalte der Rückgängigspeicher nicht gelöscht wird.
Gruß Daniel
Anzeige
Danke ...so klappt es.
04.01.2019 17:46:30
STeve
Hallo Daniel und Matthias............Tausend Dank für eure Wissensweitergabe.
So klappt es wunderbar:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True 'nur zur Sicherheit
Application.EnableEvents = False
Cells.SpecialCells(xlCellTypeLastCell).Offset(0, 1).ClearContents
Application.EnableEvents = True
End Sub
Wünsche euch einen tollen Abend.
mfg
STeve
Danke für die Rückmeldung ... owT
04.01.2019 17:50:57
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige