Code uitvoeren als andere page wordt geopend (multipage)

Status
Niet open voor verdere reacties.

Victorr99

Gebruiker
Lid geworden
2 jun 2015
Berichten
83
Hallo allemaal,

In een userform staat een multipage. Nu wil ik, zodra ik een andere page open dat er een code wordt uigevoerd. (Controleert of alle velden zijn ingevuld (geen hulp bij nodig). Hoe moet ik instellen dat de code wordt uitgevoerd.
Voor elke page is de code iets anders.

Ik heb zelf al iets geprobeerd van:

Code:
If Multipage1.pages("Page1").Active(??) then

'Code hier

End if

Kan iemand me hier mee helpen?

alvast bedankt.

Mvg, Victor

Voorbeeld bestandje:

Bekijk bijlage Voorbeeld Code uitvoeren bij klikken op andere page (multipage).xls

(!)En als het mogelijk is graag alle bestanden in .xls formaat. andere bestandstypes leest mn pc niet en geeft die een foutmelding bij, Bedankt(!)
 
Laatst bewerkt:
Zoiets:
Code:
Public previousPage As String

Sub UserForm_Activate()
    previousPage = MultiPage1.SelectedItem.Name
End Sub

Private Sub MultiPage1_Change()
    Dim currentPage As String
    currentPage = MultiPage1.SelectedItem.Name

    If Not currentPage = previousPage Then
        previousPage = currentPage
        MsgBox "Hier je uit te voeren code", vbInformation
    End If
End Sub
 
Als ik de code wil uitvoeren krijg ik heel vaak een msgbox met de tekst. Daarna krijg ik de error: fout 91, objectvariabele of blokvariabele With is niet ingesteld. Heb geprobeerd de code te wijzigen zodat het wel werkt maar dat lukt helaas niet.
De multipage met de 9 pages waar het omgaat staat trouwens weer in een andere mutlipage met 2pages

Het gaat hier alleen om de mutlipage met 9 pages
 
Code:
Private Sub MultiPage1_Change()
    y=1
    for each  ct in multipage1.pages(multipage1.value).controls
      y=y*(ct.value<>"")
      if y=0 then exit for
    next
    if y=0 then msgbox "daar is wat loos"
End Sub
 
Als ik de code wil uitvoeren krijg ik heel vaak een msgbox met de tekst.
Nogal logisch, want dat staat in de code. De tekst "Hier je uit te voeren code" zegt toch genoeg? Het is puur een voorbeeld hoe je dat zou kunnen doen en uiteraard moet je dat op je eigen situatie aanpassen, net zoals het voorbeeld van snb die een andere benadering laat zien.

Ik heb mijn voorbeeld in je bijlage gezet en dat werkt prima:
Bekijk bijlage Voorbeeld Code uitvoeren bij klikken op andere page (multipage).xls
 
Laatst bewerkt:
Sorry dat ik een tijdje niet heb gereageerd.
Ik bedoel dat voor dat de userform zichtbaar wordt al 10tallen msgboxen komen. Dus zonder van pagina te wijzigen.
Ik krijg ook de fout: blokvariavele with niet isgesteld.
Terwijl die in uw excel bestand wel gewoon werkt.
Waar zou dat aan kunnen liggen?
 
Dan heb je ergens iets niet goed gedaan. Kijk in het document dat ik in #5 plaatste waar de code thuis hoort.
 
Laatst bewerkt:
Ik heb de code zwaar onderhanden genomen. Het werkt nu eindelijk.
Bedankt voor de moeite!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan