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 SubAhora, 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.