rijen verbergen in Excel met VBA

Status
Niet open voor verdere reacties.

lvisser

Gebruiker
Lid geworden
23 dec 2021
Berichten
66
in een groot excel bestand wil ik rijen verbergen waar geen zinvolle informatie staat. of de informatie zinvol is bepaal ik met kolom D. als die waarde 1 is, dan kan die rij verborgen worden.
dat heb ik gedaan als onderstaand, maar dat duurt vrij lang..

kan dat eenvoudiger? en sneller ?

If Range("D57").Value = 1 Then Rows("57:57").Hidden = True
If Range("D58").Value = 1 Then Rows("58:58").Hidden = True
If Range("D59").Value = 1 Then Rows("59:59").Hidden = True
If Range("D60").Value = 1 Then Rows("60:60").Hidden = True
If Range("D61").Value = 1 Then Rows("61:61").Hidden = True
If Range("D62").Value = 1 Then Rows("62:62").Hidden = True
If Range("D63").Value = 1 Then Rows("63:63").Hidden = True
If Range("D64").Value = 1 Then Rows("64:64").Hidden = True
If Range("D65").Value = 1 Then Rows("65:65").Hidden = True
 
Zo?
Code:
Sub Verbergen()
Dim i As Integer
    
    For i = 8 To 61
        If Cells(i, 4).Value = 1 Then
            Cells(i, 4).EntireRow.Hidden = True
        End If
    Next i
End Sub
 
dank, betekent
For i = 8 To 61 dat deze van rij 8 tot en met 61 geldt ?
 
Voorbeeld, moet je dan zelf aanpassen.
Code:
Private Sub ToggleButton1_Click()
    Range("10:10,11:11,12:12,13:13,14:14,15:15,16:16,28:28,30:30").EntireRow.Hidden = ToggleButton1
End Sub
 
en hoe werkt het als het gaat om kolommen die gesplitst zijn?

bijvoorbeeld, de waarde in I2 bepaalt of de kolommen I en J getoond worden.

If Range("I2").Value = 1 Then Columns("I:J").Hidden = True
If Range("K2").Value = 1 Then Columns("K:L").Hidden = True
If Range("M2").Value = 1 Then Columns("M:N").Hidden = True
If Range("O2").Value = 1 Then Columns("O:P").Hidden = True


Zo?
Code:
Sub Verbergen()
Dim i As Integer
    
    For i = 8 To 61
        If Cells(i, 4).Value = 1 Then
            Cells(i, 4).EntireRow.Hidden = True
        End If
    Next i
End Sub
 
Zo bijvoorbeeld:
Code:
Columns("I:J").Hidden = IIf(Range("I2").Value = 1, True, False)
 
??
Code:
Columns("I:J").Hidden = Range("I2").Value = 1
 
@HSV

Vervang die ?? maar door !! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan