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

Validatie lijst ZOOM

Status
Niet open voor verdere reacties.
Weet niet of dit veel uithaalt, maar

Code:
If .Zoom >= 120 Then                        
            .Zoom = .Zoom
        Else
            .Zoom = 120                             
        End If

kan korter. Je moet in het eerste geval nl. niet de zoom zetten op hetzelfde als dat het al stond!

Code:
If .Zoom < 120 Then .Zoom = 120

Wigi
 
Merci :)

het was wel degelijk die [IU1] cellen dat het trager maakten

Code:
Private Sub Worksheet_selectionChange(ByVal Target As Range) 

Application.EnableEvents = False     

Dim TypeVal As Long

Dim lZoom As Long
Dim zGeheugen As Long

With ActiveWindow
    lZoom = .Zoom               
        If lZoom < 120 Then         
             zGeheugen = .Zoom
        ElseIf [K1] <> 0 Then
            zGeheugen = lZoom
        End If

    On Error Resume Next
    TypeVal = Target.Validation.Type           
        If TypeVal = 3 Then                    
            If .Zoom < 120 Then .Zoom = 120
                                                    
            CenterOnCell ActiveCell                 
            [K1] = 0               
        Else
            .Zoom = zGeheugen     
            [K1] = 1          
    End If
End With

Application.EnableEvents = True

End Sub

Nu werkt het een pak sneller, het zoomt wel in bij het klikken op een lijst maar niet meer uit bij het klikken op een normaal cel :confused:
 
En door te testen of

Code:
If TypeVal = 3 Then

sluit je dan normale cellen uit?
 
En door te testen of

Code:
If TypeVal = 3 Then

sluit je dan normale cellen uit?

ja als het 3 is dan is het alleen voor lijsten.
Als je bvb <> 0 doet dan is dat voor alle validatie mogelijkheden.

maar der is vooruitgang, heb juist iets gevonden. ik heb een van de zoom variabelen als static gedeclareert... Nu zoomt het wel uit.

Ik ben nog wel aan het zoeken wat het verschil is tussen 'dim' en 'static' :confused:

Code:
Private Sub Worksheet_selectionChange(ByVal Target As Range) 'Bij elke selectie van 

Application.EnableEvents = False 

Dim TypeVal As Long

Dim iZoom As Long
Dim zGeheugen As Long
Static uZoom As Long
Dim CheckZoom As Boolean

With ActiveWindow
    iZoom = .Zoom
        If iZoom < 120 And CheckZoom = False Then         
            uZoom = iZoom
        Else
            zGeheugen = uZoom
        End If

    On Error Resume Next
    TypeVal = Target.Validation.Type          
        If TypeVal = 3 Then                   
            If .Zoom < 120 Then .Zoom = 120
            CenterOnCell ActiveCell                 
            CheckZoom = True               
        Else
            .Zoom = zGeheugen     
            CheckZoom = False         
        End If
End With

Application.EnableEvents = True

End Sub

Maar nu kan ik wel niet meer dan 120 inzoomen in een normale cel. (wat wel ging bij het gebruiken van cellen [xx] )
 
Ok het werkt nu zoals ik het wil :)
en het is snel ook :thumb:
Code:
Private Sub Worksheet_selectionChange(ByVal Target As Range) 

Application.EnableEvents = False     

Dim TypeVal As Long
Dim iZoom As Long
Dim zGeheugen As Long
Static uZoom As Long
Dim CheckZoom As Boolean

    With ActiveWindow
        iZoom = .Zoom
            If iZoom < 120 And CheckZoom = False Then  
                uZoom = iZoom
            Else
                zGeheugen = uZoom
            End If
            
            If iZoom > 120 And CheckZoom = False Then
                zGeheugen = iZoom
            End If

        On Error Resume Next
        TypeVal = Target.Validation.Type           

            If TypeVal = 3 Then                    
                If .Zoom < 120 Then .Zoom = 120                   
                CenterOnCell ActiveCell           
                CheckZoom = True
            Else
                .Zoom = zGeheugen                
                CheckZoom = False
            End If
    End With

Application.EnableEvents = True
End Sub

bij deze, idereen bedankt die mij heeft geprobeerd te helpen :thumb:

Jantje,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan