Herbers Excel-Forum - das Archiv

Abfragedialog über UFs schleifen bzw. abbrechen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Abfragedialog über UFs schleifen bzw. abbrechen
von: Malcolm_p

Geschrieben am: 04.01.2007 17:42:15
Guten Tag und hallo,
ich möchte euch um Unterstützung zu folgendem Problem bitten:
Über 12 Userforms (UF) werden verschiedene Werte in den einzelnen UF´s abgefragt welche dann in einer Tabelle zusammengefasst werden.
Klappt alles auch ganz prima, bis auf die Erfassung der nächsten Reihe von Werten bzw. das Abbrechen der Abfrage am Ende.
Am Anfang steht eine UF1, welche nach abfrage von verschienen Werten eine zweite UF2 zugreift in welcher über OptionButtens eine von sieben weiteren UF3-9 geöffnet werden.
Nach Eingabe verschiedener Daten in einer dieser UF´s 3-9 wird eine weitere UF10 aufgerufen. Diese wird also von allen sieben zuvor genannten 3-9 nach Bestätigung gleichermaßen über OptionButton angesprochen.
In einer letzten UF12 wird eine MsgBox mit der Abfrage gestellt, ob weiter Datensätze erfasst werden sollen oder nicht.
Und hier das 1. und gleich das 2. Problem:
Fall 1 weitere Erfassung: Wie kann ich alle UF´s schließen bis auf die Start UF1?
Das Problem hier ist glaube ich, dass die fallweise nicht geöffneten UF´s 3-9 zu einem Konflikt bei Befehlen wie z.B. UF.Hide führen.
Fall 2 Keine weite Erfassung : Wie kann ich auf die Excell Tabelle „Funktionen“ mit dem Commandbutton für den Start der ganzen Abfrage kommen und alle UF´s hierbei schließen.
Probleme bereiten mir hierbei die ganzen Befehle .Show, .Hide, unload Me, etc., da während der Abfrage immmer die Möglichkeit bestehen soll auf die vorhergehenden UF´s zurück zugegriffen, um ggf. Korrekturen zu tätigen.
Vielen Dank vorab für Ihre Unterstützung.
Gruß
Malcolm_p
Bild

Betrifft: AW: Abfragedialog über UFs schleifen bzw. abbrechen
von: Daniel Eisert

Geschrieben am: 04.01.2007 18:25:54
Hallo
grundsätzlich würde ich mich fragen, ob du tatsächlich 12 einzelne Userforms benötigst.
Alternativ gibts ja noch die Möglichkeit über .VISIBLE = true/false verschiedene Elemente ein- und aus- zublenden
du kannst auch Userform.Hight oder Userform.Width arbeiten, um neue Eingabeelemente sichtbar zu machen oder auszublenden, oder mit dem Multipage-Element.
Wenn du innerhalb einer Userform bleibst, hast du auch keine Probleme, falls irgendwelche Variablen in verschieden Abfrageschritten benötigt werden.
falls das Schließen der einzelnen Userforms probleme macht, kannst du ja versuchen, daß mit
ON ERROR RESUME NEXT abzufangen. Dann macht VBA bei einem Fehler einfach mit der nächsten Zeile weiter. Das ist aber nicht ganz ungefährlich, daher schnellst möglich wieder mit ON ERROR GOTO 0 auf den normalen Modus zurückschalten
Gruß, Daniel
Bild

Betrifft: AW: Abfragedialog über UFs schleifen bzw. abbrechen
von: malcolm_p

Geschrieben am: 04.01.2007 22:37:34
Hallo Daniel,
vom Grundsatz her hätte man sicherlich alles ein wenig zusammenfassen können, aber mit einer einzigen UF würde ich in keinem Fall auskommen.
Leider habe ich jetzt schon die 12 UF´s soweit, dass sie eigentlich tadellos funktionieren. Nur das mit der Navigation zwischen ihnen vor zurück bzw. das beginnen am Ausgangspunkt nach erfolgter Erfassung will mir mit meinen Kenntnissen nicht so recht gelingen.
Hast Du vielleicht noch eine Idee oder jemand anderes hier im Forum, wie man in o.g. Fall vorgehen soll
Besten Dank vorab
Gruß Malcolm
 Bild
Excel-Beispiele zum Thema "Abfragedialog über UFs schleifen bzw. abbrechen"
Wav-Datei abspielen und mit ESC abbrechen