While loop werkt niet naar behoren

Status
Niet open voor verdere reacties.

Finx

Gebruiker
Lid geworden
7 feb 2020
Berichten
8
Ik heb hier de volgende code, het doel van deze loop is een reeks checkboxes doorlopen. De checkboxes zijn verantwoordelijk voor het tonen of verbergen van tabbladen. Het probleem hier is dat de checkboxes niet helemaal goed worden toegewezen (lijkt het). Bepaalde vakjes tonen een verkeerd tabblad, anderen tonen juist weer het correcte tabblad. Deze code is overigens niet door mijzelf geschreven, maar een voorganger.

Code:
Sub Hide_sheets_ICBO()

Dim sheet2, sheet As String
Dim ws As Worksheet
Dim i As Integer

sheet = "."
i = 14

'Call settingson

Do While sheet <> ""

    sheet = Sheets("I-CBO").Cells(i, 16)
    sheet2 = Sheets("I-CBO").Cells(i, 2)
    
    If sheet = "Waar" Then
    'loop all sheets
        For Each ws In ThisWorkbook.Worksheets
        'if worksheet = sheet2 then visable = true
            If ws.Name = sheet2 Then
            ws.Visible = True
            End If
        Next ws
          
    End If
    
    If sheet = "Onwaar" Then
     'loop all sheets
        For Each ws In ThisWorkbook.Worksheets
            'if worksheet = sheet2 then visable = false
            If ws.Name = sheet2 Then
            ws.Visible = False
            End If
        Next ws
    End If

    i = i + 1

Loop

'Call settingsoff

End Sub

Als er meer informatie nodig is verstrek ik deze graag.
 
Plaats een voorbeeld document.
Gebruik tevens geen correct Engelse woorden voor variabelen.
Vervang dus het woord "sheet" door bijvoorbeeld "sh".
 
Hoe komt de Waar en Onwaar tot stand. Normaal krijg je bij een Checkbox een boolean als waarde. Dus WAAR/TRUE of ONWAAR/FALSE

Zoiets lijkt mij wel voldoende
Code:
Sub VenA()
  ar = Sheets("I-CBO").Cells(14, 16).CurrentRegion.Offset(, -14).Resize(, 15)
  For j = 1 To UBound(ar)
    If Not IsError(Evaluate("'" & ar(j, 15) & "'!A1")) Then Sheets(ar(j, 15)).Visible = ar(j, 1)
  Next j
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan