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

Userform: Vor-/Zurück-Button nutzen

Userform: Vor-/Zurück-Button nutzen
29.04.2015 13:01:07
Wilhelm
Hallo zusammen!
Seit einiger Zeit probiere ich mich an folgendem Problem:
Ich habe eine Userform mit mehreren Pages. Auf allen Pages gibt es Vor- und Zurück-Buttons (Command-Button). Bei den Pages sind nicht alle immer sichtbar (Visible = False), sondern nur, wenn auf z.B. der ersten Seite eine Checkbox oder ein Wert in einer Combobox ausgewählt wurde. Die Vor- und Zurück-Buttons habe ich mit folgendem Code belegt:
Private Sub page2_Commandbutton_vor_Click()
With Multipage1
If .Value 
Private Sub page2_Commandbutton_zur_Click()
With MultiPage1
If .Value > 0 Then
.Value = .Value - 1
Else
.Value = 0
End If
End With
End Sub

Das klappt auch in beide Richtungen super, wenn alle Seiten auf "Visible = True" stehen. Sobald ich aber Seiten dazwischen habe, die nicht angezeigt werden, klappt es nur mit dem Vor-(Weiter-)Button problemlos. Beim Zurück-Button passiert dann nichts. Muss ich in den Einstellungen der einzelnen Pages was anpassen oder gibt es eine Art Funktion "Next active page"/"Previous active page"? Ich könnte zwar mit If-Then-Routinen immer den Status der jeweiligen Seiten abrufen, aber ich würde mir gerne den ganzen Code sparen, da es viele Pages gibt. Mein Ratgeber "Google" konnte mir bisher leider nicht weiterhelfen :-(
Für Eure Mühe schon mal vielen Dank im Voraus!
Viele Grüße,
Wile

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform: Vor-/Zurück-Button nutzen
29.04.2015 14:00:52
Daniel
Hi
laufe doch mit einer Schleife vorwärts bzw rückwärts durch die Seiten, bis du eine sichtbare gefunden hast.
Du kannst die einzelnen Seiten über Multipage1.Pages(i) ansprechen:
Private Sub SeiteZurück_Click()
Dim i As Long, x As Long
With MultiPage1
i = .Value
For x = 1 To .Pages.Count
i = i - 1
If i  .Pages.Count - 1 Then i = 0
If .Pages(i).Visible Then
.Value = i
Exit For
End If
Next
End With
End Sub

Gruß Daniel

AW: Userform: Vor-/Zurück-Button nutzen
29.04.2015 14:16:44
fcs
Hallo Wile,
man kann 2 zentrale Makros schreiben, die die nächste bzw. vorherige sichtbare Seite anzeigen.
Diese müssen dan von den Vor bzw. Zurückbuttons aufgerufen werden.
Gruß
Franz
Beipiel:
'Code unter Userform
Sub prcPagevor(StartPage As Object)
'nächste sichtbare Seite der Multipage anzeigen
Dim intPage As Integer
intPage = StartPage.Index
With StartPage.Parent
Do
intPage = intPage + 1
If .Pages(intPage).Visible = True Then
.Value = intPage
Exit Do
End If
Loop Until intPage >= .Pages.Count - 1
End With
End Sub
Sub prcPageback(StartPage As Object)
'vorherige sichtbare Seite von Multipage anzeigen
Dim intPage As Integer
intPage = StartPage.Index
With StartPage.Parent
Do
intPage = intPage - 1
If .Pages(intPage).Visible = True Then
.Value = intPage
Exit Do
End If
Loop Until intPage 

Anzeige
AW: Userform: Vor-/Zurück-Button nutzen
29.04.2015 14:31:19
Wilhelm
Hallo Daniel, hallo Franz!
Perfekt! Manchmal sieht man den Wald vor Bäumen nicht :-) Vielen Dank!
Gruß
Wile

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige