Como lo expliqué en otra consulta similar, al evento Change hay que acotarlo para que no se ejecute con cualquier cambio en la hoja sino solo en las celdas o rangos que necesites.
Tu macro quedaría así entonces:
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'no es necesario activar la hoja porque la macro está en esta hoja
'Sheets("Hoja1").Activate
'si debe ejecutarse al cambio en col A se excluyen las demás
If Target.Column <> 1 Then Exit Sub
Fini = Range("B" & Rows.Count).End(xlUp).Row
Totsa = Application.WorksheetFunction.SumIf(Range("B1:B" & Fini), Range("A2"), Range("C1:C" & Fini))
totsan = Application.WorksheetFunction.SumIf(Range("B1:B" & Fini), Range("A3"), Range("C1:C" & Fini))
totcuan = Application.WorksheetFunction.SumIf(Range("B1:B" & Fini), Range("A4"), Range("C1:C" & Fini))
totchal = Application.WorksheetFunction.SumIf(Range("B1:B" & Fini), Range("A5"), Range("C1:C" & Fini))
totced = Application.WorksheetFunction.SumIf(Range("B1:B" & Fini), Range("A6"), Range("C1:C" & Fini))
'al colocar valores a col E no se ejecutará la macro por la 1er instrucción
Range("E2") = Totsa
Range("E3") = totsan
Range("E4") = totcuan
Range("E5") = totchal
Range("E6") = totced
End Sub
Ahora, si es tal como me pareció tu libro, que en realidad debiera ejecutarse cada vez que ingresas algo en col B, solo cambia la 1er instrucción indicando <> 2.