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

Voorwaardelijk verbergen rijen

Status
Niet open voor verdere reacties.

mogvai

Nieuwe gebruiker
Lid geworden
17 sep 2008
Berichten
4
Goedemiddag allen,

Ik wil in meerdere worksheets een groot aantal rijen verbergen, als de waarde in Kolom A van die rij leeg is. Ik heb onderstaande code en die werkt prima, maar is vreselijk langzaam. Heeft iemand suggesties om dit sneller te maken?

Daarnaast zijn de worksheets beveiligd en om te verbergen moet ik de beveiliging opheffen... met als gevolg dat een ieder het wachtwoord kan zien... suggesties?

Code:
Sub verbergen()
Dim bsbNmRij As Long
    With Application
        .ScreenUpdating = False
    End With
        
    For wb = 2 To 6
    ThisWorkbook.Worksheets(wb).Unprotect Password:="jx"
        For bsbNmRij = 16 To 35
          If Worksheets(wb).Cells(bsbNmRij, 1) = "" Then
                   Worksheets(wb).Cells(bsbNmRij, 1).EntireRow.Hidden = True
             End If
        Next
    ThisWorkbook.Worksheets(wb).Protect Password:="jx"
    Next
 
Haal die beveiliging uit de macro en zet die in Workbook open.

Sub verbergen()
Dim bsbNmRij As Long
Application.ScreenUpdating = False
For wb = 6 To 2 Step -1
For bsbNmRij = 16 To 35
If Worksheets(wb).Cells(bsbNmRij, 1) = "" Then
Worksheets(wb).Cells(bsbNmRij, 1).EntireRow.Hidden = True
End If
Next
Next
End Sub

Private Sub Workbook_Open()
For i = 2 To 6
Sheets(i).Protect Password:="jx", Userinterfaceonly:=True
Next
End Sub

Zo ziet niemand je paswoord en je kunt trouwens je VBA-code ook afschermen met een wachtwoord.

Cobbe
 
Met een autofilter zal het veel sneller gaan, omdat de actie die (relatief) veel tijd in beslag neemt, verbergen / tonen, in 1 keer kan gebeuren en niet rij per rij.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan