ocultar fila con condicional

27/07/2007 - 03:06 por Rew | Informe spam
Necesito ocultar las filas de una hoja, sujetas a la siguiente condicion,
por ejemplo si en la fila 4 la celda AB4 >0, se oculta si no se muestra y asi
las demas filas; fila 30, AB30>0, se oculta, si no se muestra.-
Desde ya muy agradedecido

Preguntas similare

Leer las respuestas

#11 Héctor Miguel
29/07/2007 - 03:05 | Informe spam
hola, Richard !

__ 1 __
Al hacerlo se generar un conflicto, comienza a hacer la gestion, inclusive oculto alguna gila en algun caso
pero el programa pasa a no responder, con ambas formulas, parpadea la pantalla y lo cerre desde el administrador.-



1) esto es probable que se deba a que tu modelo realiza re/calculos *exhaustivos* [quizas] por muchas formulas ???

__ 2 __
si yo quisiera hacerlo para las filas 5 con C5, 6 con C6,.., hasta la 10 con C10 que deberia modificar
Private Sub Worksheet_Calculate()
Dim Celda As Range
For Each Celda In Range(Range("c5"), Range("c5").End(xlDown))
Celda.EntireRow.Hidden = Celda > 0
Next
End Sub



2) si solo necesitas *monitorear* las celdas del rango 'C5:C10' solo necesitas indicarlo en la linea del For Each...

For Each Celda In Range("c5:c10")

__ 3 __
OTRA EN REALIDAD SE ALTERNAN ES DECIR PUEDE HABER 3 VACIAS FILA 5 A 8, 2 COMPLETAS 9 A 12 Y ASI
TODAS ELLAS CON LA FORMULA =+MASTER!C5 en C5, =+MASTER!C6 en C6...
No quisiera llegar a la ultima fila de la hoja, si no acotarlo hasta la fila 20 o 100, que debria cambiar.-



3) varias alternativas [aunque no es muy claro eso de: "celdas vacias... todas ellas con formulas..." ???]:

a) usar la forma primera de la propuesta anterior ?
OJO: NO selecciona todas las filas, solo *avanza* desde la ultima *vacia* a la ultima *ocupada*
-> For Each Celda In Range(Range("c4"), Range("c65536").End(xlUp))

b) condicionar el codigo para que solo se aplique a celdas con formulas ?
-> For Each Celda In Range(Range("c4"), Range("c65536").End(xlUp)).SpecialCells(xlCellTypeFormulas)

c) en lugar de usar el evento '_calculate' de la hoja que tiene formulas vinculadas a la hoja *Master*...
usar el evento '_change' de la hoja *Master* para ocultar las filas *espejo* en la otra hoja -?-

[me parece que empiezan a *salir algnos detalles que estaban en el tintero* ?]

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#12 Rew
29/07/2007 - 22:20 | Informe spam
Hola Miguel,

A ver si te puedo mostrar toda la película para clarificarlo lo más posible

Hay una hoja de cálculo en la hoja 5 que di por llamar Master, con formatos
condicionales y fórmulas del tipo (=si) con distintos cálculos que se activan:

1 al poner la fecha de la orden de compra
2 al poner la fecha de compra
3 al poner la fecha de la orden de venta
4 al poner la fecha de venta

Con formato condicional pinto toda la fila de naranja para visualmente saber
que se cerro, hasta este punto, todo bien para mi, pero la planilla creció y
las distintas operaciones me fueron quedando separadas entre varias filas
naranjas, con lo que, a pesar de estar sin color, se me dificulta
visualizarlas para poder trabajar con el conjunto de las filas que están
activas.-

Por ello se me ocurrió crear una segunda planilla a la que llame run2 en la
hoja 5, donde solo aparecieran las filas que yo necesito ver y que tienen en
común que la fecha de venta no existe en Master, dichas celdas están
vírgenes, ya que todas las fórmulas en master se van activando a partir de
que en esas celdas se coloque un nº mayor que 0, para el caso al fecha.-

En “run2” yo copie los formatos condicionales y la fórmula
(=+Master!B5,……, =+Master!AZ5), extendiéndolas hasta la fila 200
(=+Master!B200,……, =+Master!AZ200) y aaqui aparece m necesidad de poder
ocultar las filas donde en “MasterU5” en adelante el nº sea mayor que 0,
donde en “Run2”, está la formula (=+master!U5) con valor 0 ( que a lo mejor
pude generar conflicto )
Esto se repite en U6, U7, hasta U 200 como ejemplo.-

Otro concepto sería que run2 tome de Master, solo las filas cuyo vas valores
en la celda U5 en más sea distinto de 0.-

Y que me traslade todos los cambios que vaya incorporando.-

Creo haber expuesto todo.-

Desde ya, gracias y un Abrazo

Richard
Respuesta Responder a este mensaje
#13 Héctor Miguel
29/07/2007 - 23:32 | Informe spam
hola, Richard !

__ 1 __
A ver si te puedo mostrar toda la pelicula para clarificarlo lo mas posible
... hoja de calculo... Master, con formatos condicionales y formulas del tipo (=si) con distintos calculos que se activan:
1 al poner la fecha de la orden de compra
2 al poner la fecha de compra
3 al poner la fecha de la orden de venta
4 al poner la fecha de venta
... pinto toda la fila... para visualmente saber que se cerro... la planilla crecio y las... operaciones me fueron quedando separadas
... a pesar de estar sin color, se me dificulta visualizarlas para poder trabajar con... las filas que estan activas.-



__ 2 __
... se me ocurrio crear una segunda planilla... donde solo aparecieran las filas que yo necesito ver
... tienen en comun que la fecha de venta no existe en Master, dichas celdas estan virgenes
... todas las formulas en master se van activando a partir de que en esas celdas se coloque un nº mayor que 0, para el caso al fecha.-
... copie los formatos condicionales y la formula (=+Master!B5,... =+Master!AZ5)
extendiendolas hasta la fila 200 (=+Master!B200,... =+Master!AZ200) y aqui aparece mi necesidad de
... ocultar las filas donde en 'MasterU5' en adelante el nº sea mayor que 0
... en 'Run2', esta la formula (=+master!U5) con valor 0 (que a lo mejor pude generar conflicto)... se repite en U6, U7, hasta U 200 [...]



te paso algunos comentarios.. de atras... pa'lante [la del final es otra propuesta que -creo- vale la pena de probar] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

2) [creo que] estamos hablando de [~10,000] *demasiadas* formulas con vinculos *reciprocos* [cambios en una hoja afectan a la otra]
toma en cuenta que existen varias *acciones* [autofiltros, modificacion y/o entrada de datos nuevos, alto/ancho de fila/columna]
que *disparan* eventos [como el '_calculate', '_change', '_selectionchange', etc.]

1) por que no intentas usar los autofiltros [o los filtros avanzados] para mostrar solo las filas que estan activas ?
mantendras una sola hoja, evitando hojas adicionales con muchas/demasiadas celdas *espejo* y formulas de re/calcuos exhaustivos
Respuesta Responder a este mensaje
#14 Rew
30/07/2007 - 01:24 | Informe spam
Hola Miguel

Gracias a tu ayuda, creo haber logrado el objetivo

Un abrazo enorme

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