Como ocultar filas sin seleccionarlas.

23/07/2007 - 10:05 por david_colme | Informe spam
Necesito ocultar y mostrar una serie de filas en función de una serie
de condiciones. El problema que tengo es que para hacerlo tengo que
seleccionar antes dicha fila y luego ocultarla y para mostrarla
después también. Eso me provoca que al ejecutar esa parte del código
la hoja se va moviendo de un lado para otro y luego me toca ir
buscando de nuevo la celda en la que quiero escribir.

Podría volver por cogido a la celda en la que me encontraba, pero
seguiría teniendo el problema de que el programa daría muchos saltos a
muchos sitios.

Me gustaría poder ocultar y mostrar filas sin tener que seleccionarlas
antes. ¿Eso se puede hacer?

Un saludo y gracias.

Preguntas similare

Leer las respuestas

#1 Juan M
23/07/2007 - 11:52 | Informe spam
escribió
Necesito ocultar y mostrar una serie de filas en función de una serie
de condiciones. El problema que tengo es que para hacerlo tengo que
seleccionar antes dicha fila y luego ocultarla y para mostrarla
después también. Eso me provoca que al ejecutar esa parte del código
la hoja se va moviendo de un lado para otro y luego me toca ir
buscando de nuevo la celda en la que quiero escribir.

Podría volver por cogido a la celda en la que me encontraba, pero
seguiría teniendo el problema de que el programa daría muchos saltos a
muchos sitios.

Me gustaría poder ocultar y mostrar filas sin tener que seleccionarlas
antes. ¿Eso se puede hacer?

Un saludo y gracias.



Hola,

¿Podrías exponer el código? para solo modificar la parte necesaria para que
no te produzca ese efecto no deseado.

Por lo que cuentas el código lo has generado a través de la grabadora, en la
mayoría de las ocasiones no es necesario seleccionar los rangos, celdas para
poder manipularlos..

Prueba instrucciones del estilo a la siguiente:

Oculta filas:
range("A1").EntireRow.Hidden=true
rows(3).hidden=true

Oculta columnas:
range("A1").EntireColumn.Hidden=true
columns("F").Hidden=true

También puedes añadir al principio de la macro o cuando estimes oportuno la
instrucción

application.ScreenUpdating=False

que evita la actualización de la pantalla con lo que no verás el movimiento
de la hoja según se mueva.

Un saludo,
Juan
Respuesta Responder a este mensaje
#2 david
23/07/2007 - 12:47 | Informe spam
Muchas gracias por tu ayuda. Me ha servido de mucho.

El código que yo uso para ocultar es

Application.GoTo Reference:="datos"
Selection.EntireRow.Hidden = Not CheckBox.Value

Con este código primero selección las filas y después las oculto. Con
el código que tu propones queda resuelto.

Muchas gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida