Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Änderung Verfolgen & wieder verwerfen
20.02.2007 10:09:00
Christoph
Hallo Excel-Experten.
Ich habe ein Problem bei einem Tool, dass ich schreiben muss. Eigentlich wäre Acces eher dafür geeignet, ist aber vom Kunden unerwünscht.
Ich habe eine komplett eigene Menüleiste, die speziell auf die anforderung der Programms abgestimmt ist. Die Standard-excel-Leisten sind ausgeblendet und sämtliche Funktionen sind nur über meine eigene Leiste durchführbar. Die Navigation zwischen den Tabellenblättern ist nur über meine Funktionene möglich, da die Tabellen-Reiter im unteren Bereich ausgeblendet sind. Die User des Tools, sind Excel-Laien und das Tool muß für den "Dau" (dümmsten anzunehemnden User) ausgelegt sein. ;)
Zum Probelem:
Es soll via VBA-Code die Änderungen nachverfolgt werden. Über das eigene Menü, ist eine Funktion erwünscht, die wie folgt sein soll:
Tabellenblatt schliessen & auf ein Sheet das als Standardansicht des Programmes dient springen. Vor dem Sprung Abfrage, ob gespeichert werden soll. Bis hierhin kein Problem. Wenn jetzt "verwerfen" angewählt wird, dann sollen die letzten Eingaben rückgängig gemacht werden & wieder auf den Stand wie vor der Eingabe zurückgesetzt werden. Das Tool Soll jedoch nicht geschlossen werden, sondern offen bleiben. Es soll nur auf ein Spezielles Sheet gesprungen werden. Wird das Toll geschlossen, wird automtisch gespeichert & die Änderungen werden auch übernommen.
Mir fehlt eine Idee als Ansatz & sämtliche Versuche mit dem Makro-Recorder liefen mir keine Ergebnisse die meines Erachtens als Lösung geeignet sind.
Hat jemand eine Idee?
Danke Im Voraus
Christoph

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ergänzung
20.02.2007 10:14:00
Christoph
Level: Excel-Profi - VBA bescheiden stimmt nicht
Richtig ist
Level: Excel-gut - VBA gut
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 10:28:28
Erich
Hallo Christoph,
wie wäre es prinzipiell mit folgendem Vorgehen:
Bei Betreten des Blatts (im Activate-Ereignis oder in einer deiner Funktionen)
kopierst du den UsedRange in ein ausgeblendetes Blatt "Kopie".
Wenn "rückgängig" gesagt wird, kopierst du den UsedRange von "Kopie" zurück ins Original (evtl. vorher leeren).
Danach (und andernfalls) kann "Kopie" gelöscht (oder für die nächste Verwendung nur geleert) werden.
Die ganzen Blätter zu kopieren/löschen, ist wohl komplizierter, weil dabei leicht Bezüge in anderen Blättern verschütt gehen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 10:47:09
Franc
Bei dem genutzten Bereich sehe ich wiederum das Problem, das wenn der Nutzer die Tabellenbreite ändert (falls das für ihn möglich ist) diese Änderung nicht rückgängig gemacht wird. (Außer man speichert diese ebenfalls vorher ab)
Anderseits hast du auch wieder mit den Bezügen recht. Hoff ma einfach das keine drin sind. ^^
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 11:05:13
Franc
Hab ne Idee wie man das mit den Bezügen abfangen kann.
Wenn Bezüge existieren, dann muss man vorher alle Bezüge die zum Beispiel auf Tabellex gehen mit dem neuen Namen ersetzen.
Zum Beispiel
suche "=Tabelle2!" und ersetze durch "=KopieTabelle2!"
Wenn man danach das Blatt "Tabelle2" löscht und "KopieTabelle2" in "Tabelle2" umbenennt, gibt es keine Probleme. ^^
Die Sinnhaftigkeit hängt natürlich immer von der Anzahl der Arbeitsblätter ab.
Anzeige
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 10:29:27
Franc
hab nur kurz zeit deshalb erstmal kein VBA Code.
Lösungsansatz:
Du erstellst für jede Tabelle eine Kopie wenn man sie das erste mal nach dem öffnen der Arbeitsmappe anklickt. Dannn kann man das Original bearbeiten und wenn er die Änderungen nicht will, dann löscht man das Original und nennt die Kopie entsprechend um.
Man muss natürlich auch eine Abfrage einbauen, ob das Blatt schonmal kopiert wurde etc also das ganze würde sicher bissi umfangreich zu programmieren sein aber eine sinnvolle alternative gibts sicher nicht.
Wieviel Tabellenblätter soll es denn geben?
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 11:43:00
Christoh
Danke,
Die Lösungsvorschläge sind eigentlich naheliegend, ich habe nur wieder mal deutlich zu kopliziert gedacht. Da die Zellen nicht mit Formeln etc belegt sind und es nur einen begrenzte eingabebereich gibt, bietet sich es an, diese Bereiche zu kopieren.
Ich lege beim Aufrufen des Sheets über onDoubleClick die Makros fest, die für die ensprechende Zelolen gestartet werden sollen über die dann Userforms aufgerufen werden. Über diese werden die Eingaben gemacht und gleichzeitig eine begrenzte Plausibelitätsprüfung durchgeführt. Evtl Änderungen an den Sheets sind aufgrund des Schreibschutzes nicht möglich und die Anzahl der Tabellenblätter ist flexibell. Es könne über die eigenen Funktionen hinzugefügt oder gelöscht werden.
Danke nochmal für die Tips
Christoph
Anzeige
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 11:43:46
Erich
Hallo Christoph,
hier mal eine kleine Beispiel-Umsetzung meines Vorschlags.
Formatierungsänderungen werden dabei nicht beachtet.
https://www.herber.de/bbs/user/40559.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Änderung Verfolgen & wieder verwerfen
20.02.2007 11:50:34
Christoph
Danke.
So ähnlich habe ich es jetzt auch in einer Test-Arbeitsmappe gemacht, muss es jetzt nur noch in das Tool einpflegen.
Funktioniert genau so wie es soll.
Danke

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige