Tienes razón, lo que pasa es que debes efectuar algo en la hoja.
Me explico, para que el cálculo se actualice debes realizar algún cambio en la hoja, el que hagas un filtro no estás modificando la hoja.
Lo que pides no es algo sencillo.
Otra opción es la siguiente, primero elimina las otras macros. Ahora pon la siguiente macro en los eventos de tu hoja.
Para que funcione deberás, después de realizar el autofiltro, debes seleccionar la celda A1 o la celda A2.
Yo entiendo que lo quieres en automático, pero simple y sencillamente no se puede realizar en automático, deberás hacer algo en tu hoja para que se actualicen los valores.
Espero que comprendas lo que te estoy diciendo, si quieres cambiar la celda que activará la macro puedes cambiar esta parte
If Not Intersect(Target, [A1:A2]) Is Nothing Then
Camiba A1:A2, por el rango de celdas que quieras, puede ser por las celdas que tienen el autofiltro A9:B9, así después de realizar el autofiltro, seleccionas la celda A9 y se activa la macro.
Otra opción es que pongas en una macro el autofiltro, es decir, que una macro haga el autofiltro y que esa misma macro active la macro de la hoja.
Recuerda las limitantes de excel.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
If Not Intersect(Target, [A1:A2]) Is Nothing Then
[A1:A2] = ""
For i = 10 To Range("A" & Rows.Count).End(xlUp).Row
If Rows(i).Hidden = False Then
If Cells(i, "A") > 0 Then
[A1] = [A1] + Cells(i, "A")
Else
[A2] = [A2] + Cells(i, "A")
End If
End If
Next
End If
End Sub