Ocultar / Mostrar filas

31/03/2008 - 12:27 por Daniel Domínguez | Informe spam
Hola a todo el mundo.

Tengo una hoja excel en la que, mediante el valor de un ComboBox, necesito
ocultar o mostrar determinada información. Lo que he hecho es que en base a
ese valor, oculto / muestro las filas que me interesan con el siguiente
código:

' Activar
ThisWorkbook.ActiveSheet.Range("A12:A17").Select
Selection.RowHeight = 15
ThisWorkbook.ActiveSheet.Range("A18:A18").Select
Selection.RowHeight = 6

' Desactivar
ThisWorkbook.ActiveSheet.Range("A12:A18").Select
Selection.RowHeight = 0

Mi problema es que esto me está dando un rendimiento bastante lento, y el
archivo tarda medio minuto o así en ocultar y mostrar las filas que
correspondan cada vez. Querría saber si hay alguna manera más rápida de hacer
esto.

Muchas gracias y un saludo

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
31/03/2008 - 20:39 | Informe spam
hola, Daniel !

por codigo puedes evitar el uso de instrucciones que hacen (efectivamente) una seleccion de objetos
para poder "trabajar" con sus metodos y propiedades, prueba con algo +/- como lo siguiente:
(deja el alto de las filas sin modificar por el codigo)

' Activar
ThisWorkbook.ActiveSheet.Range("a2:a18").EntireRow.Hidden = False

' Desactivar
ThisWorkbook.ActiveSheet.Range("a2:a18").EntireRow.Hidden = True

saludos,
hector.

__ la consulta original __
Tengo una hoja excel en la que, mediante el valor de un ComboBox, necesito ocultar o mostrar determinada informacion.
Lo que he hecho es que en base a ese valor, oculto / muestro las filas que me interesan con el siguiente codigo:

' Activar
ThisWorkbook.ActiveSheet.Range("A12:A17").Select
Selection.RowHeight = 15
ThisWorkbook.ActiveSheet.Range("A18:A18").Select
Selection.RowHeight = 6

' Desactivar
ThisWorkbook.ActiveSheet.Range("A12:A18").Select
Selection.RowHeight = 0

Mi problema es que esto me esta dando un rendimiento bastante lento
y el archivo tarda medio minuto o asi en ocultar y mostrar las filas que correspondan cada vez.
Querria saber si hay alguna manera mas rapida de hacer esto.
Respuesta Responder a este mensaje
#2 Daniel Domínguez
03/04/2008 - 17:23 | Informe spam
OK Gracias !!!

"Héctor Miguel" wrote:

hola, Daniel !

por codigo puedes evitar el uso de instrucciones que hacen (efectivamente) una seleccion de objetos
para poder "trabajar" con sus metodos y propiedades, prueba con algo +/- como lo siguiente:
(deja el alto de las filas sin modificar por el codigo)

' Activar
ThisWorkbook.ActiveSheet.Range("a2:a18").EntireRow.Hidden = False

' Desactivar
ThisWorkbook.ActiveSheet.Range("a2:a18").EntireRow.Hidden = True

saludos,
hector.

__ la consulta original __
> Tengo una hoja excel en la que, mediante el valor de un ComboBox, necesito ocultar o mostrar determinada informacion.
> Lo que he hecho es que en base a ese valor, oculto / muestro las filas que me interesan con el siguiente codigo:
>
> ' Activar
> ThisWorkbook.ActiveSheet.Range("A12:A17").Select
> Selection.RowHeight = 15
> ThisWorkbook.ActiveSheet.Range("A18:A18").Select
> Selection.RowHeight = 6
>
> ' Desactivar
> ThisWorkbook.ActiveSheet.Range("A12:A18").Select
> Selection.RowHeight = 0
>
> Mi problema es que esto me esta dando un rendimiento bastante lento
> y el archivo tarda medio minuto o asi en ocultar y mostrar las filas que correspondan cada vez.
> Querria saber si hay alguna manera mas rapida de hacer esto.



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