Code wert niet

Status
Niet open voor verdere reacties.

Segers

Gebruiker
Lid geworden
29 sep 2010
Berichten
30
Ik heb in onderstaande een code, deze moet ervoor zorgen dat checkbox = true, kleur is rood en omgekeerd. Maar het werkt dus niet. Iemand tips?

Dank u,

'Sub Kleur(x)
' If OLEObjects("Checkbox" & x).Object.Value = True Then
' x = x + 1
' Range("A" & x & ":Y" & x).Font.Color = vbRed
' ElseIf OLEObjects("Checkbox" & x).Object.Value = False Then
' x = x + 1
' Range("A" & x & ":Y" & x).Font.Color = vbBlack
' End If
'End Sub

'Private Sub CheckBox2_Click()

'Kleur2

'End Sub
 
Je vertelt er niet bij wat er niet werkt en als er dus helemaal niets gebeurd klopt dat wel omdat iedere regel van de code begint met het commentaarteken (') waardoor geen enkele regel wordt uitgevoerd.
 
ja maar in mijn code staan die ' er niet

het doet helemaal niks
 
Als die er in je code niet staan waarom plaats je ze hier dan wel?
Dat maakt het er niet begrijpelijker op.
Plaats de juiste code en dan ook in een codetag zodat ook de inspringpunten zichtbaar zijn.
 
Laatst bewerkt:
code:

Sub Verwerken(x)

If OLEObjects("Checkbox" & x).Object.Value = True Then
'x = x + 1
Range("A" & x & ":Y" & x).Font.Color = vbRed
ElseIf OLEObjects("Checkbox" & x).Object.Value = False Then
'x = x + 1
Range("A" & x & ":Y" & x).Font.Color = vbBlack
End If

End Sub

Private Sub checkbox2_click()

Verwerken 2

End Sub


Oorspronkelijke code:

Private Sub checkbox2_click()

If CheckBox2.Value = True Then
Range("A2:Y2").Font.Color = vbRed
ElseIf CheckBox2.Value = False Then
Range("A2:Y2").Font.Color = vbBlack
End If

End Sub
 
Ik bedoel voor de leesbaarheid eigenlijk dit:


Code:
Sub Verwerken(x)

    If OLEObjects("Checkbox" & x).Object.Value = True Then
        'x = x + 1
        Range("A" & x & ":Y" & x).Font.Color = vbRed
    ElseIf OLEObjects("Checkbox" & x).Object.Value = False Then
        'x = x + 1
         Range("A" & x & ":Y" & x).Font.Color = vbBlack
    End If

End Sub


Private Sub checkbox2_click()

    Verwerken 2

End Sub

In de routine Verwerken staat nog steeds een ' voor x = x + 1
Daar gebeurd dus niets mee.
De routine wordt aangeroepen als Verwerken 2 en dat zou Verwerken(2) moeten zijn.

Daarnaast is een CheckBox altijd True of False en kan de code daarom een stukje eenvoudiger:

Code:
Sub Verwerken(x)

    If OLEObjects("Checkbox" & x).Object.Value Then
        'x = x + 1
        Range("A" & x & ":Y" & x).Font.Color = vbRed
    Else
        'x = x + 1
         Range("A" & x & ":Y" & x).Font.Color = vbBlack
    End If

End Sub

Gebruik Debug Mode om te kijken waar het mis gaat.
 
Laatst bewerkt:
neen, de situatie blijft ongewijzigd.

Had dat met die () ook al geprobeerd
 
Daarom zei ik Debug Mode te gebruiken om te kijken waar het mis gaat.
Je kunt dan per regel zien wat er gebeurd en de waarden van de variabelen controleren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan