Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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

Variable ändern anhand aktivierter Multipageseite

Variable ändern anhand aktivierter Multipageseite
06.12.2018 06:32:45
Dominik
Hallo zusammen,
ich vermute ein überschaubares Problem, hänge aber gerade genau daran fest:
Ich habe eine Userform mit Multipage (mpgPage1), diese hat zwei Seiten.
Nun will ich, dass eine Variable (g_ZurBerechnung) auf "True" gesetzt wird, wenn der User über die Reiter auf die 2. Seite (Index/Value = 1) wechselt.
Ich habe es unter anderem so versucht:

Private Sub mpgPage1_Click(ByVal Index As Long)
If mpgPage1.Value = 1 Then
g_ZurBerechnung = True
End If
Leider hat das und viele andere Versuche nicht geklappt und daher hoffe ich, dass mir jemand aushelfen kann. Vielen Dank schon einmal im voraus!
Viele Grüße aus Nürnberg,
Dominik

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Variable ändern anhand aktivierter Multipageseite
06.12.2018 08:42:46
Nepumuk
Hallo Dominik,
teste mal:
Private Sub mpgPage1_Change()
g_ZurBerechnung = mpgPage1.Value = 1
End Sub

Gruß
Nepumuk
AW: Variable ändern
06.12.2018 09:09:14
Dominik
Hallo Nepumuk,
danke für den Tipp, leider führt das nun zu dem Ergebnis, das die Variable schon immer umgestellt wird, wenn die Userform automatisiert die Controls (auch auf Seite 2 (Index = 1) setzt.
Ich muss mal sehen, ob ich das irgendwie umgehen kann :)
Viele grüße,
Dominik
AW: Variable ändern anhand aktivierter Multipageseite
06.12.2018 08:45:52
UweD
Hallo
so...
Private Sub MultiPage1_Click(ByVal Index As Long)
    Dim g_ZurBerechnung
    g_ZurBerechnung = (Index = 1) '0=page1; 1=page2 
    
    MsgBox g_ZurBerechnung
End Sub

LG UweD
Anzeige
AW: Variable ändern
06.12.2018 09:12:05
Dominik
Hallo UweD,
danke für den Hinweis, leider führt das nun zu dem Ergebnis, das die Variable schon immer umgestellt wird, wenn die Userform automatisiert die Controls (auch auf Seite 2 (Index = 1) setzt.
Ich bemühe mich weiter um eine Lösung :)
Viele Grüße,
Dominik
AW: Variable ändern
06.12.2018 09:39:47
UweD
WANN soll denn genau WAS geschehen?
AW: Variable ändern
06.12.2018 09:52:46
Dominik
Die Maske startet mit Aufruf der Vorlage, angezeigt wird die Userform "start". Diese beinhaltet eine Multipage mit zwei Seiten, sowie darunter verschiedene Controlbuttons zum Abschluss der Vorlage.
Die Controlbuttons sind deaktiviert bis der User die Angaben auf Seite 1 der Multipage gemacht hat UND zumindest Seite 2 aufgerufen hat.
Seite 2 kann der User aktuell über
a) einen Controlbutton auf Seite 1 und
b) den Klick auf den Reiter oben
erreichen.
Beim Klick auf den Controlbutton wird bereits eine globale Variable (g_zurBerechnung) auf true gesetzt, das funktioniert. Nun soll aber der User, der über den Klick auf den Reiter Seite 2 aufruft, ebenfalls den Dokumentabschluss erreichen können, aber erst SOBALD er Seite 2 tatsächlich aufgerufen hat.
Da die Userform regelmäßig prüft, wie die Controls (Checkboxen, Textfelder etc.) aktiviert sein sollen und auch je nach Auswahl auf Seite 1 ein paar Felder auf Seite 2 bereits vorbelegt, scheint die genannte Lösung direkt beim Start schon die Variable auf True zu setzen. So zumindest meine Semi-laienhafte Erkenntnis.
Anzeige
Musterdatei?
06.12.2018 10:22:06
UweD
AW: Musterdatei?
06.12.2018 12:03:49
Dominik
Eine Musterdatei kann ich leider nicht zur Verfügung stellen, da die Vorlage auf eine Vielzahl Routine aus unserem internen System zurückgreift und Daten entsprechend auch aus Schnittstellen lädt. Das würde natürlich außerhalb unserer Umgebung nicht mehr funktionieren, leider.
AW: Musterdatei?
06.12.2018 12:06:53
Daniel
Die Musterdatei muss nur die Inhalte enthalten, die benötigt werden um dein Problem aufzuzeigen (Multipage, Variablenzuweisung)
alles andere kannst du löschen oder du erstellst eine neue Datei mit den benötigten Inhalten.
Gruß Daniel
Die Lösung
11.12.2018 13:50:31
Dominik
Hallo,
entschuldigt, dass es etwas gedauert hat, ich kam die letzten Tage nicht dazu, mich damit zu beschäftigen.
Ich konnte nun mit etwas Hilfe die Lösung finden:
Im VBA-Editor war die 2. Seite (1) der Multipage zuletzt angewählt und wurde im Vorlagenstart auf Seite 1 (0) gesetzt, dadurch hatte er jedes mal das Change-Ereignis bzw. die Anwahl der Seite 2 (1) gehabt, ehe auf Seite 1 (0) gewechselt wurde. Um das zu lösen musste ich dann natürlich nur im Editor Seite 1 (0) der Maske anwählen und speichern.
Kleine Sachen können sich manchmal als große Stolpersteine herausstellen.
Vielen Dank an alle für die Hilfe!
Anzeige
AW: Variable ändern anhand aktivierter Multipageseite
06.12.2018 08:55:36
Daniel
Hi
hast du die Variable g_ZurBerechnung irgendwo deklariert?
wenn ja, wo?
damit du diese Variable auch in anderen Makro nutzen kannst, muss sie im Modul der Userform, oberhalb der Makros mit
Dim g_ZurBerechnung as boolean

deklariert werden, dann ist sie für alle Makros, die sich in diesem Modul befinden, verwendbar.
Oder du deklarierst sie in einem allgemeinen Modul oberhalb der der Makors mit
Public g_ZurBerechnung as boolean

dann ist sie für alle Makros des Projekts verwendbar.
innerhalb der Makros darfst du diese Variable dann nicht mehr deklarieren.
zum Code, der ist etwas umständlich.
wie schon gezeigt, ein
g_ZurBerechnung = mpgPage1.Value = 1

reicht aus.
Gruß Daniel
Anzeige
AW: Variable ändern
06.12.2018 09:13:51
Dominik
Hallo Daniel,
danke dir erstmal. Die Variable war global als Boolean definiert, ein anderer "Switch" über ein cmd-Button funktioniert auch problemlos.
Der geänderte Code führt leider nun zu dem Ergebnis, das die Variable schon immer umgestellt wird, wenn die Userform automatisiert die Controls (auch auf Seite 2 (Index = 1) setzt.
Ich suche weiter nach Möglichkeiten und gebe Bescheid, wenn ich etwas gefunden habe.
Viele Grüße,
Dominik

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige