Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 4 van 4

Onderwerp: For next lus

  1. #1
    Junior Member
    Geregistreerd
    2 maart 2020
    Vraag is opgelost

    For next lus

    Beste,

    onderstaande code werkt perfect voor mij maar is nogal omslachtig. Ik werk met een basisexcelblad met 15 knoppen. Echter is het niet altijd nodig om deze knoppen allemaal te gebruiken.
    Vandaar dat ik in 'worksheet activate' onderstaande code heb geplaatst. Zou het mogelijk zijn om deze korter te schrijven met een for next lus? Alvast dank.

    Code:
    If ActiveSheet.Range("GF9").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Visible = False
    ElseIf ActiveSheet.Range("GF9").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Visible = True
    End If
    
    If ActiveSheet.Range("GF10").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 2")).Visible = False
    ElseIf ActiveSheet.Range("GF10").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 2")).Visible = True
    End If
    
    If ActiveSheet.Range("GF11").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 3")).Visible = False
    ElseIf ActiveSheet.Range("GF11").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 3")).Visible = True
    End If
    
    If ActiveSheet.Range("GF12").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 4")).Visible = False
    ElseIf ActiveSheet.Range("GF12").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 4")).Visible = True
    End If
    
    If ActiveSheet.Range("GF13").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 5")).Visible = False
    ElseIf ActiveSheet.Range("GF13").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 5")).Visible = True
    End If
    
    If ActiveSheet.Range("GF14").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 6")).Visible = False
    ElseIf ActiveSheet.Range("GF14").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 6")).Visible = True
    End If
    
    If ActiveSheet.Range("GF15").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 7")).Visible = False
    ElseIf ActiveSheet.Range("GF15").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 7")).Visible = True
    End If
    
    If ActiveSheet.Range("GF16").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 8")).Visible = False
    ElseIf ActiveSheet.Range("GF16").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 8")).Visible = True
    End If
    
    If ActiveSheet.Range("GF17").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 9")).Visible = False
    ElseIf ActiveSheet.Range("GF17").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 9")).Visible = True
    End If
    
    If ActiveSheet.Range("GF18").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 10")).Visible = False
    ElseIf ActiveSheet.Range("GF18").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 10")).Visible = True
    End If
    
    If ActiveSheet.Range("GF19").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 11")).Visible = False
    ElseIf ActiveSheet.Range("GF19").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 11")).Visible = True
    End If
    
    If ActiveSheet.Range("GF20").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 12")).Visible = False
    ElseIf ActiveSheet.Range("GF20").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 12")).Visible = True
    End If
    
    If ActiveSheet.Range("GF21").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 13")).Visible = False
    ElseIf ActiveSheet.Range("GF21").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 13")).Visible = True
    End If
    
    If ActiveSheet.Range("GF22").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 14")).Visible = False
    ElseIf ActiveSheet.Range("GF22").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 14")).Visible = True
    End If
    
    If ActiveSheet.Range("GF23").Value = 0 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 15")).Visible = False
    ElseIf ActiveSheet.Range("GF23").Value = 1 Then
        ActiveSheet.Shapes.Range(Array("Rounded Rectangle 15")).Visible = True
    End If

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    9 september 2000
    Locatie
    Zuid-Holland
    Zonder een voorbeeld document:
    Code:
    Private Sub Worksheet_Activate()
        For i = 9 To 23
             ActiveSheet.Shapes.Range(Array("Rounded Rectangle " & i - 8)).Visible = IIf(ActiveSheet.Range("GF" & i).Value = 0, False, True)
        Next i
    End Sub
    Laatst aangepast door edmoor : 25 november 2022 om 12:37
    "Bij IT-ers gaat alles automatisch, maar niets vanzelf. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Giga Honourable Senior Member
    Verenigingslid
    snb's avatar
    Geregistreerd
    12 juni 2008
    Code:
    Private Sub Worksheet_Activate()
      For j = 9 To 23
        Shapes("Rounded Rectangle " & j - 8).Visible = cells(j,188)
      Next
    End Sub
    Laatst aangepast door snb : 25 november 2022 om 13:30
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  4. #4
    Junior Member
    Geregistreerd
    2 maart 2020
    Dag Edmoor en SNB

    Beiden bedankt voor jullie zeer verdienstelijke poging. Ik heb beiden getest en beiden werken!
    Jullie hebben mij hiermee superblij gemaakt van 75 regels code naar 3 regels met hetzelfde resultaat.

    Thanks thanks thanks...

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren