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

Code doet niet wat ik verwacht

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
De onderstaande code "Private Sub UserForm_Initialize" doet niet wat ik hoopte.
De focus in TextBox1 wordt wel gezet, maar de rest van de code wordt niet uitgevoerd.
Code:
Private Sub UserForm_Initialize()
Me.TextBox1.SetFocus
For n = 2 To Sheets.Count
    For t = 1 To 10
    If Sheets(n).Name = (Me("CheckBox" & t).Caption) Then
        If Cells(1, 7).Value > 3 Then
        Me("Label" & t + 10).Caption = "VOLZET"
        Me("CheckBox" & t) = False
        Me("CheckBox" & t).Locked = True
        End If
    End If
    Next t
Next n
End Sub
Wat is de bedoeling:
Als in een tabblad, in cel(1, 7) een waarde staat > 3 dan
moet op de Uform het corresponderende LABEL een caption krijgen.
 

Bijlagen

  • Naar juiste tabblad (3).xlsm
    37 KB · Weergaven: 26
Het geluk is dat - als de code niet doet wat je verwacht - dat niet aan u maar aan de code ligt. :)

Weliswaar moet jezelf wel de nodige aanpassingen uitzoeken.

Iig hoort er toch nog een beetje meer uitleg bij, voor mij toch.
 
Is intussen opgelost.
Hoe dom, ik was gewoon vergeten de Sheet- bepaling in de code te zetten.
Code:
Private Sub UserForm_Initialize()
Me.TextBox1.SetFocus
For n = 2 To Sheets.Count
    For t = 1 To 10
    If Sheets(n).Name = (Me("CheckBox" & t).Caption) Then
        If Sheets(n).Cells(1, 7).Value > 3 Then
        Me("Label" & t + 10).Caption = "VOLZET"
        Me("CheckBox" & t) = False
        Me("CheckBox" & t).Locked = True
        End If
    End If
    Next t
Next n
End Sub
 
Wieter,
probeer het eens zo.
Code:
Private Sub UserForm_Initialize()
Me.TextBox1.SetFocus
For n = 2 To Sheets.Count
    For t = 1 To 10
    If Sheets(n).Name = (Me("CheckBox" & t).Caption) Then
        If Sheets(n).Cells(1, 7).Value > 3 Then
        Me("Label" & t + 10).Caption = "VOLZET"
        Me("CheckBox" & t) = False
        Me("CheckBox" & t).Locked = True
        End If
    End If
    Next t
Next n
End Sub

Je was me voor.:thumb:
 
Laatst bewerkt:
Bedankt EA voor de oplossing.
Toch raar dat men zich soms blind staart op een eenvoudige fout.
 
Met een andere code en een iets ander resultaat in de tabjes.
 

Bijlagen

  • Naar juiste tabblad.xlsb
    38,2 KB · Weergaven: 28
Professionele code VenA,
Ik hoop het ooit, ook zo te kunnen.
Nu is die teller in de bladen niet meer nodig.
Knap, de tabel-vorm als resultaat.
Bedankt voor je inbreng, dat is nu eens leerrijk voor de forumbezoekers.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan