Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Ocultar filas mediante VBA en Excel
Experto: dtorrado
Valoración: 5
Fecha: 02/06/2005


Ocultar filas mediante VBA en Excel
Buenos dias, he leído muchas preguntas y sus respuestas me parecen muy buenas y en estos momentos necesito ayuda, he intentado por algunos medios que mediante un el valor de una celda se me oculte la fila que contiene esa celda. La cuestión es la siguiente tengo una base de datos en excel con una facturación, en vista de que las facturas las pagan por partes, quiero que al terminar de pagar el costo de la factura la fila se oculte cuando el monto neto sea cero. Por otro lado si es posible necesito que me cuente cuantas filas estan ocultas para tener una idea simplemente. Muchas Gracias por su ayuda.

Re: Ocultar filas mediante VBA en Excel
Hola, Tendrías que hacer una macro que recorra todas esas celdas y analice el valor. Sería algo así: Sub Ocultar() Dim rg As Range Set rg = Range("A2:A20") For Each cell In rg If cell.Text = "0" Then cell.EntireRow.Hidden = True End If Next End Sub Y luego tendrás que decidir cuándo ejecutarlo. Si quieres ejecutarlo cada vez que se modifique algo en la hoja, harás una llamada a Ocultar en el evento Change de la hoja. Para contar las filas ocultas sería una función muy similar, analizando la propiedad cell.Hidden, si es = True es que está oculta. Saludos, Dani

Ocultar filas mediante VBA en Excel
Me dió una idea perfecta pero tu ve que modificarla ya que la celda por la cual se va a regir el parametro tiene formula y no hácía nada, concluyo que puede ser que haya un mínimo de decimales, lo que hice fue lo siguiente, primero que fuera < 1 y después como me ocultaba todo, tuve que hacer el mismo código pero para cuando las celdas estan vacias, ya me funciona perfecto, pero se que estoy ejecutando el trabajo 2 veces, crees que lo pueda simplificar a uno tomando en cuenta que su primera respuesta no me funcionaba. Muchas gracias de antemando, muy rápido y efectiva su respuesta. 'Codigo para ocultar filas Dim rg As Range Set rg = Range("K5:K1000") Application.ScreenUpdating = False ' Congela la Pantalla For Each cell In rg If cell.Text < "1" Then cell.EntireRow.Hidden = True End If Next For Each cell In rg If cell.Text = Empty Then cell.EntireRow.Hidden = False End If Next Application.ScreenUpdating = True ' 'Fin código ocultar filas

Pregunta finalizada. Valoración: 5.
Excelente. Una fantástica solución.


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/1162769/ocultar-filas-mediante-vba-en-excel