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

Keuzerondjes werken niet

  • Onderwerp starter Onderwerp starter GBO
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

GBO

Gebruiker
Lid geworden
18 dec 2023
Berichten
19
Ik krijg een code met keuzerondjes niet werkend. Gekoppeld aan cellen B55 en C55 heb ik twee keuzerondjes. Deze geven in B55 en C55 WAAR en ONWAAR, afhankelijk van het actieve keuzerondje. Aanvullend heb ik in Cel A56 een formule die 1 geeft als keuzerondje 1 actief is en 2 als keuzerondje 2 actief is. Ik heb de volgende code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = Me

On Error GoTo ErrorHandler
Application.EnableEvents = False

If Not Intersect(Target, ws.Range("C5")) Is Nothing Then
Select Case ws.Range("C5").Value
Case "wisselend"
ws.Rows("7:48").EntireRow.Hidden = False
Case "625", "1000"
ws.Rows("7:48").EntireRow.Hidden = True
End Select
End If

If Not Intersect(Target, ws.Range("B55")) Is Nothing Then
Select Case ws.Range("B55").Value
Case "WAAR"
ws.Rows("60:69").EntireRow.Hidden = True
ws.Rows("58:59").EntireRow.Hidden = False
Case "ONWAAR"
ws.Rows("58:59").EntireRow.Hidden = True
ws.Rows("60:69").EntireRow.Hidden = False
End Select
End If

ExitHandler:
Application.EnableEvents = True
Exit Sub

ErrorHandler:
MsgBox "Fout: " & Err.Description
Resume ExitHandler
End Sub

Het eerste deel van de code (voor cel C5) werkt probleemloos, het tweede deel voor cel B55 werkt niet.Ook als ik de code aanpas op cel A56 krijg ik het niet werkend. Wat doe ik hier fout?
 
Maak van dat stukje eens dit:
Code:
If Target.Address(0, 0) = "B55" Then
    If Target.Value Then
        Rows("60:69").EntireRow.Hidden = True
        Rows("58:59").EntireRow.Hidden = False
    Else
        Rows("58:59").EntireRow.Hidden = True
        Rows("60:69").EntireRow.Hidden = False
    End If
End If
Daarnaast is dit overbodig:
Code:
Dim ws As Worksheet
Set ws = Me
Plaats anders een voorbeeld document.
 
@edmoor

Hoeveel groter is rows(1).entirerow dan rows(1) ?


Code:
Rows("60:69").Hidden = target.address="$B$55"
Rows("58:59").Hidden = target.address <>"$B$55"
 
Heb je gelijk in, ik gebruikte wat TS al had gedaan.

Of:
Code:
If Target.Address(0, 0) = "B55" Then
    Rows("60:69").Hidden = Target.Value
    Rows("58:59").Hidden = Not Target.Value
End If
 
Laatst bewerkt:
Beide geprobeerd, maar krijg het niet werkend. Voorbeeldbestandje toegevoegd. Celnummers zijn wat gewijzigd door aanpassing in de indeling van het werkblad.
 

Bijlagen

Als je ws niet declareerd moet je die uiteraard ook niet als object gebruiken.
Kijk eens naar dit:
 

Bijlagen

Nu werken de keuzerondjes, maar nu werkt het verbergen van de kolommen H t/m K niet meer, op basis van cel C5...
 
Werkt hier prima zodra je C5 wijzigt.
Er staat in de code wel G t/m K.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan