Saltar al contenido

Sumar el rango visible (o filtrado) en una hoja de cálculo de Excel

Solución:

Esto hará lo que quieras. Establezca visibleTotal en el tipo de datos apropiado para el total y cambie los objetos ws y rng para que coincidan con lo que tiene en su libro de trabajo.

Sub SumVisible()
    Dim ws As Worksheet
    Dim rng As Range
    Dim visibleTotal As Long

    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("B1:B7")

    ws.AutoFilterMode = False
    rng.AutoFilter field:=1, Criteria1:=5

    visibleTotal = Application.WorksheetFunction.Sum(rng.SpecialCells(xlCellTypeVisible))
    ' print to the immediate window
    Debug.Print visibleTotal
End Sub

En caso de que solo desee sumar parte del rango filtrado (por ejemplo, filtra en la columna A pero desea la suma de la columna B), consulte esta pregunta y respuesta: Copiar / Pegar / Calcular celdas visibles de una columna de una tabla filtrada.

Si necesita CONTAR el número de elementos visibles en una lista filtrada, utilice la función SUBTOTAL, que ignora automáticamente las filas que están ocultas por un filtro.

La función SUBTOTAL puede realizar cálculos como RECUENTO, SUMA, MÁX, MIN, PROMEDIO, PRODUCTO y muchos más (consulte la tabla a continuación). Ignora automáticamente los elementos que no están visibles en una lista o tabla filtrada. Esto lo hace ideal para mostrar cuántos elementos están visibles en una lista, el subtotal de filas visibles, etc. También proporciona filas de control ocultas manualmente.

La solución a su pregunta sería contar la cantidad de filas que no están en blanco visibles en la Columna A y la Columna B cuando un filtro está activo, use:

AtmCurrentSum = Application.WorksheetFunction.Subtotal(109, Range("$X$3:$X$4533"))

Argumentos de fórmula de subtotal de Excel


Puntos para recordar cuando aplica la fórmula SUBTOTAL:

  • Cuando número_función (primer argumento) está entre 1-11, SUBTOTAL incluye valores que se ocultan manualmente pero ignoran los ocultos por filtro.
  • Cuando núm_función está entre 101-111, SUBTOTAL excluye todo tipo de valores ocultos.
  • En las listas filtradas, SUBTOTAL siempre ignora los valores de las filas ocultas, independientemente del número_función.
  • SUBTOTAL ignora otros subtotales que existen en las referencias se ignoran para evitar el doble conteo
  • SUBTOTAL solo funciona con valores de datos verticales dispuestos verticalmente.
  • En las columnas horizontales ocultas, los valores siempre se incluyen y nunca se ignoran.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *