Rijen verbergen volgens waarde in cel is gelukt maar beeld trilt (andere manier?)

Status
Niet open voor verdere reacties.

jaggy1962

Gebruiker
Lid geworden
19 aug 2010
Berichten
36
Hoi allemaal.

Ik heb nog 1 probleem.
Ik heb met valideren 3 lijstjes gemaakt die verwijzen naar cel C6, C7 en C10.
Nu wil ik volgens de gekozen waarden in deze cellen rijen verbergen en weer laten zien.
Ik heb de waarden in de cellen samengevoegd in cel F6 en deze cel gebruik ik dan om rijen te verbergen.
Maar als ik dan cellen selecteer in het werkblad is het werkblad steeds aan het trillen als jullie begrijpen wat ik bedoel, is er een andere en een betere manier? zodat het beeld stil blijft.

Zo heb ik het nu gedaan
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("F6") = "Optima 0,4DVastGeheel staal" Then
Rows("30:33").EntireRow.Hidden = True
Rows("48:58").EntireRow.Hidden = True
Rows("148:861").EntireRow.Hidden = True
Rows("863:65536").EntireRow.Hidden = True
Rows("1:29").EntireRow.Hidden = False
Rows("34:47").EntireRow.Hidden = False
Rows("60:147").EntireRow.Hidden = False
Rows("862").EntireRow.Hidden = False
Else
If Range("F6") = "Optima 0,4DVastGeheel RVS" Then
Rows("30:33").EntireRow.Hidden = True
Rows("60:63").EntireRow.Hidden = True
Rows("148:861").EntireRow.Hidden = True
Rows("863:65536").EntireRow.Hidden = True
Rows("1:29").EntireRow.Hidden = False
Rows("34:47").EntireRow.Hidden = False
Rows("48:58").EntireRow.Hidden = False
Rows("64:147").EntireRow.Hidden = False
Rows("862").EntireRow.Hidden = False
Else
If Range("F6") = "" Then
Rows("1:147").EntireRow.Hidden = False
Rows("148:861").EntireRow.Hidden = True
Rows("863:65536").EntireRow.Hidden = True
End If
End If: End If

End Sub
Ter informatie Optima 0,4D staat in cel C6, Vast in cel C7 en Geheel RVS in cel C10

en in cel F6 staat =C6&C7&C10

Oja ik zie steeds onderin cellen berekenen

Bij voorbaat mijn dank.

Groetjes Jaggy
 
Laatst bewerkt door een moderator:
Begin je code met
Code:
Application.ScreenUpdating = False

En zet een volgende keer (deze code bewerken mag uiteraard ook...) je code in de CODE tag (knop #), dat leest makkelijker...
 
Vergeet aan het einde van je code deze regel niet:

Code:
Application.ScreenUpdating = True
 
iets anders:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C6,C7,C10")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Select Case Range("f6").Value
        Case Is = "Optima 0,4DVastGeheel staal"
            Cells.EntireRow.Hidden = False
            Range("30:33,48:58,148:861,863:65536").EntireRow.Hidden = True
        Case Is = "Optima 0,4DVastGeheel RVS"
            Cells.EntireRow.Hidden = False
            Range("30:33,60:63,148:861,863:65536").EntireRow.Hidden = True
        Case Is = ""
            Cells.EntireRow.Hidden = False
            Range("148:861,863:65536").EntireRow.Hidden = True
        Case Else
            'iets anders
    End Select
    Application.ScreenUpdating = True
End Sub
 
Bedankt voor je reactie

Begin je code met
Code:
Application.ScreenUpdating = False

En zet een volgende keer (deze code bewerken mag uiteraard ook...) je code in de CODE tag (knop #), dat leest makkelijker...

Beste Octafish,

Bedankt voor je reactie, ik heb de regel in mijn code gezet (als 2de regel) maar het beeld blijft flikkeren, wat doe ik verkeerd.
Trouwens de code van Eric werkt perfect.

Met vrgr Maarten
 
Bedankt

iets anders:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C6,C7,C10")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Select Case Range("f6").Value
        Case Is = "Optima 0,4DVastGeheel staal"
            Cells.EntireRow.Hidden = False
            Range("30:33,48:58,148:861,863:65536").EntireRow.Hidden = True
        Case Is = "Optima 0,4DVastGeheel RVS"
            Cells.EntireRow.Hidden = False
            Range("30:33,60:63,148:861,863:65536").EntireRow.Hidden = True
        Case Is = ""
            Cells.EntireRow.Hidden = False
            Range("148:861,863:65536").EntireRow.Hidden = True
        Case Else
            'iets anders
    End Select
    Application.ScreenUpdating = True
End Sub

Beste Eric,

Bedankt werkt zoals ik het nu kan zien perfect.

Mvrgr Maarten
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan