¿Puede confeccionar un código que me oculte columnas cuyo total según fila B22:H22 muestren "0", y filas en "0" de B22:H22?

Quisiera ver si me puede ayudar a confeccionar un código que me oculte columnas cuyo total según fila B22:H22 muestren "0", de igual forma que oculte filas cuyos totales en la columna H13:H21 muestren "0" (Todo esto con un botón).

También un botón que muestre todo aún con valores "0"

Respuesta

H0la

Para ocultar, puedes ocupar lo siguiente

Sub OcultarCero()
    Dim strCol As String
    Dim h As Worksheet
    'Asignar hoja
    Set h = Sheets("Hoja1")
    For i = 2 To 8
        'Verificar si el valor de la fila 22 en la columna i es cero
        If h.Cells(22, i).Value = 0 Then
            'Obtener el nombre de la columna
            strCol = Replace(h.Cells(1, i).Address(False, False), "1", "")
            'Ocultar la columna
            h.Columns(strCol & ":" & strCol).EntireColumn.Hidden = True
        End If
    Next
End Sub

Para mostrar, puedes hacerlo con uno de los siguientes procedimientos

Si te quieres restringir a las columnas afectadas en el primer procedimiento

Sub MostrarTodo()    
    Dim strCol As String
    Dim h As Worksheet
    Set h = Sheets("Hoja1")
    For i = 2 To 8
        strCol = Replace(h.Cells(1, i).Address(False, False), "1", "")
        h.Columns(strCol & ":" & strCol).EntireColumn.Hidden = False
    Next
End Sub

O puedes afectar a toda la hoja

Sub MostrarToda()    
    Dim strCol As String
    Dim h As Worksheet
    Set h = Sheets("Hoja1")
    'Mostrar las columnas de toda la hoja
    h.Cells.EntireColumn.Hidden = False
End Sub

Cuando ejecuto el código me muestra un error de compilación y me dice que esperaba expresión =

Envíame el código que te muestra el error.

Disculpe, es en el de ocultar ceros

En la ventana de error debe aparecer el botón Depurar, al presionarlo, te debe mostrar una línea resaltada ¿Me puedes enviar esa línea?

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas