>Simplificar el código para evitar el error de "procedimiento demasiado largo"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'updateby Extendoffice 20160530
On Error GoTo LZoom
Dim xZoom As Long
xZoom = 100
If Target.Validation.Type = xlValidateList Then xZoom = 130
LZoom:
ActiveWindow.Zoom = xZoom

'G9
If Target.Address = "$G$9" Then
Range("G9").ColumnWidth = 42
Else
Range("G9").ColumnWidth = 5
ActiveWindow.Zoom = 120
'G10
If Target.Address = "$G$10" Then
Range("G10").ColumnWidth = 42
Else
Range("G10").ColumnWidth = 5
ActiveWindow.Zoom = 120

-----

----

-----

-----

'G71
If Target.Address = "$G$71" Then
Range("G71").ColumnWidth = 42
Else
Range("G71").ColumnWidth = 5
ActiveWindow.Zoom = 120

-----

-----

-----

end if

end if

end if

end sub

Al hacerlo me sale "procedimiento demasiado largo".

Por favor, necesito que realizar este procedimiento desde la celda G9 hsta la celda G71.

Este procedimiento de repite también en las columnas H, I, J, K (de 9 a 71)

tambien en las columnas N, O, P, Q . R (de 9 a 71)

Debo realizar esto porque en las celdas tengo una lista de pedido y esta no se puede ver bien cuando el zoom de la hoja esta en 55%.

Entonces con el procedimiento anterior al posicionarme por ejemplo en la celda G9, esta celda se agranda y luego así puedo elegir de la lista al poder verla.

Respuesta
1

Te invito a mirar el video 11 de mi canal donde muestro otros casos y modos de reducir el número de instrucciones en macros.

Sdos.

Elsa

1 respuesta más de otro experto

Respuesta
1

Prueba con esta macro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'updateby Extendoffice 20160530
On Error GoTo LZoom
Dim xZoom As Long
xZoom = 100
If Target.Validation.Type = xlValidateList Then xZoom = 130
LZoom:
        ActiveWindow.Zoom = xZoom
col = Target.Column
Select Case col
Case 7, 8, 9, 10, 11, 14, 15, 16, 17, 18: Target.ColumnWidth = 42
Case Else
Target.ColumnWidth = 5
ActiveWindow.Zoom = 120
End Select
End Sub

¡Muchas Gracias! 

Lo probé al código y funciona mejor de esperado.

Muy agradecido por tu respuesta.-

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas