Las excelentes capacidades de formato condicional de Excel le permiten cambiar el formato de las celdas según el contenido de una celda. Desafortunadamente, no hay forma de ocultar fácilmente columnas enteras de datos según el valor de una celda en particular.

Sin embargo, puede lograr el efecto deseado utilizando una macro para analizar la celda y ajustar el atributo Oculto de la fila que desea ocultar condicionalmente. La siguiente macro simple, por ejemplo, examina el contenido de la celda B4 y, si la celda contiene 0, oculta la columna H. Si la celda B4 no contiene 0, se muestra la columna H.

Sub HideColumn1()

If Range("B4").Value = 0 Then         Columns("H").EntireColumn.Hidden = True     Else         Columns("H").EntireColumn.Hidden = False     End If End Sub

Si desea ocultar y mostrar la columna en tiempo real, puede utilizar la siguiente versión de la macro. Solo asegúrese de poner esta versión en la ventana de código de la hoja de trabajo en la que desea que funcione.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("B4").Value = 0 Then         Columns("H").EntireColumn.Hidden = True     Else         Columns("H").EntireColumn.Hidden = False     End If End Sub

Note que las entrañas de las dos macros son las mismas. La única diferencia es que la segunda versión se activa mediante un evento dentro de Excel: el cambio de la celda que está seleccionada actualmente. Esto significa que cada vez que se mueve de una celda a otra, se marca el valor en B4 y la columna H está oculta o no.

Si es posible que el contenido de la celda B4 esté vacío, entonces es posible que Excel interprete ese vacío como un valor cero. En ese caso, puede modificar la macro solo un poco para que busque una celda vacía.

Sub HideColumn2()

Dim rCell As Range     Set rCell = Range("B4")



Columns("H").EntireColumn.Hidden = False     If (Not IsEmpty(rCell))

And (IsNumeric(rCell)

And (rCell.Value = 0) Then         Columns("H").EntireColumn.Hidden = True     End If End Sub

Esta versión de la macro realmente verifica tres condiciones: que B4 no esté vacío, que contenga un valor numérico y que el valor sea 0. Si se cumplen las tres condiciones, la columna H está oculta.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (3283) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Hiding_Columns_Based_on_a_Cell_Value [Ocultar columnas basadas en un valor de celda].