naar nieuwe pagina met CommandButton

Status
Niet open voor verdere reacties.

ReilingJ

Gebruiker
Lid geworden
31 mei 2007
Berichten
168
Hallo,
ik heb een Userform met meerdere pagina's. Kan iemand mij zeggen welke VBA-code ik moet gebruiken voor een CommandButton om naar volgende (en ook vorige) pagina te gaan?

Mijn oplossing werkt niet (waarschijnlijk iets van klok en klepel):

Private Sub CommandButton1_Click()
open.Page2
End Sub

Groet Jan.
 
Dag Jan,

Naar welke pagina's wil je? De pagina's van het userform of van je document?

Naar de pagina's van de userform:
Multipage1.Value = gewenste pagina-1

Naar de pagina's van je document:
Selection.Goto What:=wdGotoPage, Which:=wdGotoAbsolute, Count:=gewenste pagina

Gegroet,

Axel
 
Dag Jan,

Naar welke pagina's wil je? De pagina's van het userform of van je document?

Naar de pagina's van de userform:
Multipage1.Value = gewenste pagina-1

Naar de pagina's van je document:
Selection.Goto What:=wdGotoPage, Which:=wdGotoAbsolute, Count:=gewenste pagina

Gegroet,

Axel

Axel,

Excuses voor mijn onduidelijke formulering. Ik bevind me in een userform (met meerdere pagina’s) op pagina 1 en ik wil, door op een opdrachtknop te clicken, naar pagina 2.

Dus:
Private Sub CommandButton1_Click()
MultiPage1.Value = pagina + 1
end sub

Het werkt,
veel dank,
groet Jan
 
Laatst bewerkt:
Commando tab

Dag Jan,

Maar waarom klik je niet gewoon op de tab?

Gegroet,

Axel.

Axel,

dit wordt een gebruikersformulier met meer als 10 tabbladen. Ik wil 100% zeker zijn dat de gebruiker alle bladen invult. Dat wil ik met deze knoppen bereiken.
En ja mijn probleem is groter geworden want ik wil (1) de tabfunctie uitschakelen en (2) binnen dit userform heb een tweede userform gemaakt ook weer met tabbladen.
Jouw oplossing werkt prima voor MultiPage1.Value = pagina + (x)

maar zodra ik MultiPage2.Value = pagina + (x) gebruik moet ik eerst de eerste tab van MultiPage2 aanklicken voordat ik met de commandoknop weer vooruit kan tab(en)

Is hier ook een oplossing voor?
 
Oplossing

Oplossing zelf gevonden:

Private Sub CommandButton1_Click()
'Naar volgend blad (blad met ook tabs):
MultiPage1.Value = pagina + 4
'selecteren eerste tab:
MultiPage2.Value = pagina + 0
End Sub
 
Goed zo, maar als je code post hier op het forum, gebruik dan code tags. D.w.z. selecteer je code en klik op het # teken. Dank bij voorbaat.

Wigi
 
Dag Jan,

Mooi, maar nog mooier is als je de tabs gewoon gebruikt, maar ze – zolang niet aan bepaalde voorwaarden is voldaan – ze niet te gebruiken zijn. Bijvoorbeeld Tab 2 is niet bruikbaar zolang de textboxen op venster 1 niet zijn ingevuld.

Multipage1.Pages(1).Enabled=(text1.textlength>0 and text2.textlength>0 and text3.textlength>0)

Gegroet,

Axel.
 
Axel,
dit is echt super, jammer genoeg maak ik ook gebruik van keuzerondjes
groet Jan.
 
Dag Jan,

Dat maakt niet uit. Je maakt een sub Venster1Ok waarin telkens wordt gecontroleerd of alles is ingevuld en aangeklikt. Zelfs wat de invulling betreft kun je nog condities opstellen.

Code:
Private Sub Command11_Click()
  Stap = 1
  SetVensters
  Vensters.Value = Stap
End Sub

Private Sub Command21_Click()
  Stap = 2
  SetVensters
  Vensters.Value = Stap
End Sub

Private Sub Command31_Click()
  Stap = 3
  SetVensters
  Vensters.Value = Stap
End Sub


Private Sub SetVensters()
  With Vensters
    .Pages(0).Enabled = (Stap = 0 Or Stap = 7)
    .Pages(1).Enabled = (Stap = 1 Or Stap = 7)
    .Pages(2).Enabled = (Stap = 2 Or Stap = 7)
    .Pages(3).Enabled = (Stap = 3 Or Stap = 7)
    .Pages(4).Enabled = (Stap = 4 Or Stap = 7)
    .Pages(5).Enabled = (Stap = 5 Or Stap = 7)
    .Pages(6).Enabled = (Stap = 6 Or Stap = 7)
    .Pages(7).Enabled = (Stap = 7)
  End With
End Sub

' Als je zorgt dat de commandbutton pas kan worden aangeklikt als aan de voorwaarden voor die pagina is voldaan dan zit je goed.

Private Sub Venster1Ok()
  Dim v As Boolean
  
  If Combo12.ListIndex Then If Combo13.ListIndex Then If Text11.TextLength Then If Text12.TextLength Then If Text13.TextLength > 0 Or Text13.Enabled = False Then v = True
    Command11.Enabled = v
End Sub

Gegroet,

Axel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan