domingo, 8 de mayo de 2022

57 - ¡Fuera Ceros ! Cómo ocultar ceros en hojas Excel

Hay trabajos donde nos quedan mejor los informes o las planillas en general, mostrando las celdas vacías cuando tienen por resultado un cero. Esto puede resolverse de modo parcial o total y para ello veremos 4 escenarios a continuación.

Escenario N° 1: formular correctamente la función SI.ERROR

En la siguiente imagen se observa la función con el último argumento en 0. Esto no será correcto en casos de facturas, presupuestos o algún otro tipo de documento donde, al no encontrarse el producto, el valor a devolver debiera ser vacío en lugar de presentarlo con un precio de 0.


Otro ejemplo sería al mostrar una tabla de stock de productos, donde puede haber productos con stock = 0, pero en caso de no encontrarse algún item debiera mostrarlo vacío.
Por lo tanto, la función SI.ERROR debiera tener su último argumento con comillas (vacío) o con algún texto, pero no con ceros.

Escenario N° 2: quitar ceros solo a una tabla en una hoja donde se pueden encontrar otro tipo de tablas que no deseamos modificar.


En este caso utilizaremos una macro para limpiar solamente el rango de la tabla deseada. Desde el Editor de macros, insertaremos un módulo y allí copiaremos el siguiente código:

Sub quitaCeros()

Dim x As Integer

x = Range("T" & Rows.Count).End(xlUp).Row

Range("T3:AD" & x).Replace What:="0", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows ', _

    MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True

End Sub


Escenario N° 3: quitar ceros a toda la hoja activa. 

Esto se da generalmente en tablas diarias o mensuales, donde muchas celdas mantienen resultados en cero, impidiendo ver con claridad el resto de los valores, tal como se aprecia en la siguiente imagen:


La solución en este caso, es ir al menú Archivo, Opciones Excel, Avanzadas y quitar el tilde a la opción de 'Mostrar un cero......'


Escenario N° 4: como la solución anterior solo modifica el modo de tratar los ceros en la hoja activa, nos obligaría a ir hoja por hoja en caso de hojas mensuales o diarias. 

Entonces, para modificar todas o gran parte de las hojas del libro recurriremos nuevamente a una macro. En el Editor, en un módulo copiaremos el siguiente código, donde podemos agregar instrucciones que omitan los cambios en ciertas hojas:

Sub quitaCerosTotal()

'quita ceros en todo el libro

For Each sh In Sheets

    'omito alguna(s) hoja(s)

    If sh.Name <> "FILTRO" Then

        sh.Select

        ActiveWindow.DisplayZeros = False

    End If

Next sh

End Sub


Ver video N° 57 desde aquí.

No hay comentarios.:

Publicar un comentario