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

Rijen en "Shapes" op deze rijen verbergen met code

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
352
Hallo beste forum gebruikers,

dit gaat weer boven mijn petje.

bijgaand bestand zal alles wel duidelijker maken (is wel opgemaakt in Excel 2010 dus hopelijk geeft dat niet teveel problemen voor jullie)

Bekijk bijlage Normen@HelpMij.xlsm

ik heb een lijst. deze lijst bevat per rij een aantal gegevens. op het einde van de rij (in kolom E) heb ik een selectievakje (Check Box) geplaatst. dit selectievakje is gekoppeld aan kolom F (waarde True of False). bovenaan de lijst staan 2 knoppen. één om alle rijen zichtbaar te maken, de ander om enkel de geselecteerde zichtbaar te maken

het lukte me al om deze knoppen werkend te krijgen maar het probleem zit hem in de selectievakjes die niet mee verborgen worden.

ik vermoed dat er nog iets in de code moet komen met ... shapes... maar hier loop ik dus vast.

wat hulp zou ik enormop prijs kunnen stellen.

en weet wel heel zeker dat hier knappe bollen bij zijn die hier direct de oplossing voor hebben.

alvast bedankt.

Stefan
 
Toch nog even voor de duidelijkheid.

via Google had ik wel al één en ander gevonden zoals de code

Code:
ActiveSheet.Checkboxes("Check Box 1").Visible = True

Maar zoals jullie zien zal ik zo een 50 checkboxen hebben en het handigste zou zijn dat de code zelf kon bepalen welk of welke checkbox nummer moeten verborgen worden.

en dan natuurlijk met de andere knop ook weer allemaal zichtbaar gemaakt worden

thx
 
Ik was nog aan het proberen met wat codes die ik vond op internet maar kwam andere problemen tegen. oa een "Run-time error 1004 - unable to get the checkboxes property of the worksheet class" waarvoor ik hier een andere vraag plaatste (Edmoor wees me er echter op dat er geen oplossing kon gegeven worden zonder code, vandaar hier de code)

Code:
Sub ShowOnlySelectedNorms()

Dim cBox As CheckBox

Application.ScreenUpdating = False

Set cBox = ActiveSheet.CheckBoxes(Application.Caller)

mij heeft het echter niet verder geholpen
 
Als je nu eens alle selectievakjes goed op volgorde zet.
selectievakje 1 in G3
selectievakje 2 in G4
enz.

Code:
Sub ShowOnlySelectedNorms()
Application.ScreenUpdating = False
Rows.Hidden = False
For i = 3 To Cells(Rows.Count, 6).End(xlUp).Row
 If Not Cells(i, 6) Then
  ActiveSheet.Shapes("Selectievakje " & i - 2).Visible = False
   Rows(i).EntireRow.Hidden = True
 End If
Next i
End Sub
Code:
Sub ShowAllNorms()
 Application.ScreenUpdating = False
   Rows.Hidden = False
  For Each sh In ActiveSheet.Shapes
   sh.Visible = True
  Next sh
End Sub
 
Hallo Harry, goede avond.

bedankt voor je reactie alvast. heb ze getest en idd ze werkt indien alle selectievakjes een opeenvolgend nummer hebben. echter kan ik dat niet garanderen. is de code aan te passen als bijvoorbeeld een vakje "Check Box 500" heet dat de code toch werkt. (heb in jouw code wel "Selectievakje" door "Check Box" moeten hernoemen daar ik werk met de Engelse versie :thumb:
 
Deze code werkt maar kan ze niet integreren in jouw code Harry

Code:
Sub HideCheckBoxes()
On Error Resume Next
     
    For i = 1 To 1000
    ActiveSheet.Shapes("Check Box " & i).Visible = False
Next i
 
End Sub
 
Kan iemand me helpen deze code van Harry te begrijpen?

Code:
Sub ShowOnlySelectedNorms()

Application.ScreenUpdating = False

Rows.Hidden = False

For i = 3 To Cells(Rows.Count, 6).End(xlUp).Row
 If Not Cells(i, 6) Then
  ActiveSheet.Shapes("Check Box " & i).Visible = False
   Rows(i).EntireRow.Hidden = True
 End If
Next i

End Sub

als ik een aantal lijnen invoeg bovenaan de sheet werkt de code niet meer

neem nu dat ik 3 lijnen invoeg en in bovenstaande code i = 6 zet dacht ik dat ik ze werkende kon krijgen. blijkbaar zit er meer achter.

iemand die me wat wegwijs kan helpen?
 
heb deze code gebruikt om mijn probleem op te lossen:

Code:
Sub ShowOnlySelectedNorms()

Application.ScreenUpdating = False

    Dim Shp As Shape
    For Each Shp In ActiveSheet.shapes
        If Shp.Name Like "Check Box *" Then
            Shp.Select
            Shp.TopLeftCell.EntireRow.Hidden = Not (Selection.Value = 1)
            Shp.Visible = (Selection.Value = 1)
        End If
    Next
    
End Sub

werkt perfect, check boxen hoeven geen opeenvolgend nummer te hebben

bedankt aan iedereen
 
of ?

Code:
Sub Macro2()
    For Each cb In Sheets("normen").CheckBoxes
        cb.Visible = cb.Value = 1
        cb.TopLeftCell.EntireRow.Hidden = cb.Visible
    Next
End Sub
 
Hallo Snb,

korter en werkt ook perfect.

nog bedankt voor je reactie

mvg,

Stefan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan