Macro para ocultar filas en blanco dentro de un rango de filas

Ocupo una macro que detecte aquellas filas vacías dentro de un rango de filas y las oculte, y a su vez cuando estas filas vacías tengan datos nuevamente las muestre, ejemplo:

De la fila 15 a la fila 100, voy a desplegar datos que provienen de otra macro, pero estos datos no siempre llenan todas esas filas de la 15 a la 100, asi que me gustaría que cuando esas filas no tengan información se oculten automáticamente, y cuando la macro que ya tengo deposite información en ellas, las filas se muestren nuevamente, (solo las filas que tengan o no tengan información)

1 respuesta

Respuesta
1

Te paso mi solución. Ejecuta esta macro y arreglado:

Sub ejemplo()
'por luismondelo
ActiveSheet.Rows("15:100").Hidden = False
For f = 15 To 100
If Application.WorksheetFunction.CountA(Rows(f)) = 0 Then Rows(f).Hidden = True
Next
End Sub

recuerda finalizar

Ok funciona, ahora mi cuestión es la siguiente, digamos que quiero que en lugar de tomar en cuanta toda la fila vacía solo tome el criterio de que si del RANGO A15:A100, esta alguna celda vacía oculte su respectiva fila,

Otra cosa Luis veo que la macro que me pasaste funciona, pero al ejecutar la instrucción For f = 15 To 100 ..., en la hoja se ve un barrido donde va ocultando de una por una las filas que no tienen datos, esto se ve algo lento le he tomado el tiempo y le toma 9 segundos terminar de ocultar todas esas filas (de una por una, porque asi se aprecia), ahora bien como siempre pongo ejemplo cortos pero al momento de aplicarlos al archivo real los rangos son mas amplios, a lo que voy es que no se si haya otra forma de hacer este proceso, porque si lo hago para un rango mas grande digamos de mil filas pues le tomaría 90 segundos y es mucho tiempo.

Saludos

Entonces la maco sería así: para solo examinar el rango A15:A100

Sub ejemplo()
'por luismondelo
ActiveSheet.Rows("15:100").Hidden = False
For f = 15 To 100
If cells(f,1).value ="" then cells(f,1).entirerow.Hidden = True
Next
End Sub

En mi ordenador el proceso tarda lo que dura un pestañeo.

Tienes toda la razón Luis, de hecho desde antier he notado mi PC bastante lenta, supongo que ha de ser por eso, mas y sin embargo como no tengo $olucion $$$ pronta je je, he decidido hacer este proceso poniendo un autofiltro dentro de una macro y ese si se lo ha realizado un poco mas rapido; te agradezco nuevamente tu pronta y acertada respuesta.

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas