• 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.

Initialize gaat niet goed

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.076
Besturingssysteem
Wndows 11
Office versie
2016
Hallo,

Ik gebruik onderstaande code om de taal van mijn lijst aan te passen.
Moet regelmatig wisselen van userform, bij de eerste keer als ik wissel van userform dan wordt de taal netjes aangepast.
Als ik nu weer naar het begin ga en een wijzig maak en hierdoor ook de taal wijzig, wordt deze niet overgenomen als ik weer wissel van userform.

Code:
Private Sub UserForm_Initialize()
If Range("lijst!Z2") = "D" Then Range("lijst!I9") = "Bearbeiter"
If Range("lijst!Z2") = "NL" Then Range("lijst!I9") = "Tekenaar"
End Sub

Heb hiervoor nog aanpassing gemaakt met.

Code:
Private Sub UserForm_Activate()
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()
If Range("lijst!Z2") = "D" Then Range("lijst!I9") = "Bearbeiter"
If Range("lijst!Z2") = "NL" Then Range("lijst!I9") = "Tekenaar"
End Sub

Maar dit levert niet het gewenste resultaat op.

Heeft iemand nog idee zo dat wel goed gaat.
 
Initialize wordt geactiveerd bij het opstarten van de userform.
Vervolgens wordt onder meer Activate gestart.
Door de code in Activate te plaatsen wordt de wijziging wel meegenomen.

Code:
Private Sub UserForm_Activate()
If Range("lijst!Z2") = "D" Then Range("lijst!I9") = "Bearbeiter"
If Range("lijst!Z2") = "NL" Then Range("lijst!I9") = "Tekenaar"
End Sub

Met vriendelijke groet,


Roncancio
 
Hallo Roncancio,

Dit had ik nog niet geprobeerd, maar heeft niets uitgehaald
"lijst!Z2" wordt telkens netjes aangepast maar het VBA neemt niets over.:confused:
 
Waarom eigenlijk niet de code bij Worksheet_Change()?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sTekst As String
    Select Case Range("lijst!Z2").Value
        Case "D"
            sTekst = "Bearbeiter"
        Case "NL"
            sTekst = "Tekenaar"
    End Select
    Range("lijst!I9").Value = sTekst
End Sub

Met vriendelijke groet,


Roncancio
 
Dank je Roncancio,

Deze werkt wel

Was even puzzelen, ik had het telkens in de userforms neer gezet, maar je kan het ook onder de worksheet zetten.

Dus kortom weer wat geleerd.

Mijn dank hiervoor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan