• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Multipage tabbladen naam wijzigen met VBA

Status
Niet open voor verdere reacties.

RekenwonderNiels

Gebruiker
Lid geworden
29 jul 2016
Berichten
26
Beste iedereen,

Ik probeer in een userform een knop te maken die alle tekst in het userform vertaald.
Dit is mij gelukt voor alle knoppen en labels, maar ik krijg het niet voor elkaar met de multipage tabbladen.
Ik maak gebruik van het Tag onderdeel bij ieder userform object, wanneer er iets is ingevuld bij het veld Tag, neem dan de tekst over.

Mijn vraag is dus of het mogelijk is om op deze manier ook de multipage tabbladen de naam te wijzigen, of is er een andere betere oplossing?

Ik gebruik deze code op een knop:

Code:
Private Sub CommandButton1_Click()

On Error Resume Next

For Each ctrl In Me.Controls
    If Len(ctrl.Tag) > 0 Then ctrl.Value = ctrl.Tag
    If Len(ctrl.Tag) > 0 Then ctrl.Caption = ctrl.Tag
Next

End Sub




Ik heb een code gevonden die erg in de buurt komt, maar ik heb er niet genoeg verstand van om hem om te zetten naar het vertalen van de tabbladen.
Deze code houd bij hoeveel tabbladen er zijn.

Code:
Dim mulpage as Control, pge as Page, counter as Integer
For Each mulPage In Me.Controls
       If TypeName(mulPage) = "MultiPage" Then
           For Each pge In mulPage.Pages
               counter = counter + 1
           Next pge
       End If
Next

Bron: https://stackoverflow.com/questions/14693271/excel-vba-multipage-get-number-of-pages



Voorbeeld bestand:
 

Bijlagen

  • Voorbeeld.xlsm
    21,4 KB · Weergaven: 9
Zelf nog even test op gevuld zijn van Page.Tag inbouwen:

Code:
For Each ctrl In Me.Controls
    If Len(ctrl.Tag) > 0 Then ctrl.Value = ctrl.Tag
    If Len(ctrl.Tag) > 0 Then ctrl.Caption = ctrl.Tag
    If LCase(Left(ctrl.Name, 9)) = "multipage" Then
        For Each Page In ctrl.Pages
            Page.Caption = Page.Tag
        Next
    End If
Next
 
Super bedankt AHulpje!

Bedankt voor je oplossing. Ik moest inderdaad nog even bij de multipage de tabbladen een tag naam geven zodat deze niet leeg worden weergegeven.
Maar bij deze is het probleem nog binnen het uur opgelost.

Groeten Niels
 
Code:
Private Sub CommandButton1_Click()
   For Each it In MultiPage1.Pages
     it.Caption = it.Tag
   Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan