Agregar subtotales a sumarsi

dante te mando el archivo x mail para que lo entiendas mejor 

1 respuesta

Respuesta
1

Quieres que la suma sea: si no hay filtro, que sume todos.

¿Si hay filtro que solamente sume los valores visibles?

Si quieres sumar más de un criterio, puedes utilizar la función SUMAR. SI. CONJUNTO, por ejemplo:

En la celda D1 puedes poner esta fórmula:

=SUMAR.SI.CONJUNTO(D12:D19,D12:D19,">0",C12:C19,C1)

Si quiero que sume nada más que los valores visibles exacto mándame el archivo por favor

la formula esta perfecta pero necesito que tire lo que esta visible es decir eligo el signo $ pero de una determinada fecha o sea cuando filtro que me tire lo visible graciassss

la formula esta perfecta pero necesito que tire lo que esta visible es decir eligo el signo $ pero de una determinada fecha o sea cuando filtro que me tire lo visible graciassss

Te anexo la macro

Sub totales()
'Por.Dante Amor
    For i = 12 To Range("A" & Rows.Count).End(xlUp).Row
        If Rows(i).EntireRow.Hidden = False Then
            If Cells(i, "C") = [C1] Then
                If Cells(i, "D") > 0 Then
                    pos = pos + Cells(i, "D")
                'Else
                '    neg = neg + Cells(i, "D")
                End If
            End If
            If Cells(i, "C") = [C2] Then
                If Cells(i, "D") > 0 Then
                '    pos = pos + Cells(i, "D")
                Else
                    neg = neg + Cells(i, "D")
                End If
            End If
        End If
    Next
    [D1] = pos
    [D2] = neg
End Sub

Dante la macro esta bien pero lo que necesito es un fórmula para la celda D1 y D2 para que al filtrar me lo cambie el importe puede ser gracias

En realidad la fórmula sumar si conjunto que me hiciste es lo que necesito lo único que necesitaría que al filtrar me tome los datos visible y que no tome en cuenta los ocultos

Seria excelente gracias

No es posible con una fórmula, por eso te envié la macro.

Pon estos eventos en la hoja para que sea de forma automática.

Private Sub Worksheet_Calculate()
'Por.Dante Amor
    totales
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("C1:C2")) Is Nothing Then
        totales
    End If
End Sub

Añade tu respuesta

Haz clic para o