Hola, necesito ayuda con una macro que oculte la columna si la celda a analizar tiene valor cero.

Hola, necesito ayuda con una macro que oculte columnas si la celda a analizar de esa columna tiene valor cero.

Ej: Rango a analizar Columnas B a la Z, la fila 30 es la que tiene los resultados de la formula, me imagino que la macro analizará secuencialmente la celda B30 y si esa celda tiene valor cero entonces ocultara la columna B, luego sigue con la columna C, busca què valor hay en la celda C30 y si no es cero (o esta vacía, o tiene algún valor distinto de cero) la deja visible, lugo analiza la celda D30, si tiene valor cero la oculta y asì sucesivamente hasta llegar a la columna Z donde termina la macro.

Gracias

1 Respuesta

Respuesta
1

Siguiendo tu ejemplo te paso la solución:

Nuestros datos ocupan el rango B1:¿Z?

-Ejecuta esta macro y todo resuelto:

Sub proceso()
'por luismondelo
Range("b1").Select
Do While ActiveCell.Column < 27
If ActiveCell.Offset(29, 0).Value = 0 Then
ActiveCell.EntireColumn.Hidden = True
End If
ActiveCell.Offset(0, 1).Select
Loop
End Sub

recuerda finalizar

Hola Luis

gracias por tu respuesta, funciona de maravilla pero me oculta también las celdas vacías

cómo hago para que oculte sólo la que tenga valor cero y deje visibles las que estén vacías o contengan algún valor distinto de cero que puede ser alfanumérico?

a tu pregunta, en el rango B1 a Z29 puede haber cualquier cosa o incluso estar vacías, la fila 30 contiene resultados de fórmulas, datos alfanuméricos como rótulos o bien están vacías y la idea es ocular las columnas que en la fila 30 tengan un cero.

El cero es el indicativo para ocultar la columna.

Gracias

Prueba ahora con esta macro:

Sub proceso()
'por luismondelo
Range("b1").Select
Do While ActiveCell.Column < 27
If ActiveCell.Offset(29, 0).Value = 0 and activecell.offset(29,0).value <>"" Then
ActiveCell.EntireColumn.Hidden = True
End If
ActiveCell.Offset(0, 1).Select
Loop
End Sub

Luis

sos un capo, la macro funciona de maravilla y ma ahorra un montón de trabajo a la hora de visualizar los resultados.

la verdad que los que colaboran con todoexpertos son unos genios.

Muchísimas Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas