Hallo Karl,
falls die Sonderbehandlung nur eine bestimmte Tabelle betrifft, kann folgender Code eingesetzt werden:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Value = 1 Then
Target.Offset(ColumnOffset:=2).FormulaR1C1 = "=SUM(R[-1]C[-1]:R[1]C[-1])"
End If
End Sub
Dieser Code muss im Code-Bereich der Tabelle hinzugefügt werden.
Wenn jedoch alle Tabellen betroffen sein sollen, kann folgender Code eingesetzt werden:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If TypeName(Sh) = "Worksheet" Then
If Target.Column = 1 And Target.Value = 1 Then
Target.Offset(ColumnOffset:=2).FormulaR1C1 = "=SUM(R[-1]C[-1]:R[1]C[-1])"
End If
End If
End Sub
Dieser Code muss im Codebereich von "Diese Arbeitsmappe" hinzugefügt werden.
Andernfalls kann auch folgende Formel hilfreich sein:
In der Zelle der Spalte C kann folgender Code eingefügt werden:
=IF(RC[-2]=1,SUM(R[-1]C[-1]:R[1]C[-1]),"")
Diese Formel ist in der R1C1-Schreibweise dargestellt.
In der anderen Schreibweise muss z.B. in der Zelle C2 folgendes eingetragen werden:
=WENN(A2=1;SUMME(B1:B3);"")
LG, Ben
|