|  
                                             
	Mach einfach eine Ereignisprozedur draus: Schreib die Prozedur in das Klassenmodul des Arbeitsblattes, in dem die Tabelle steht, also z.B. "Tabelle1(Tabelle1)" und benenne sie in "Private Sub Worksheet_Change(ByVal Target As Range)" um: 
Option Explicit 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim lngFreieZeile As Long
Dim lngLetzteZeile As Long
On Error GoTo Fehler 
With ThisWorkbook.ActiveSheet 
    lngLetzteZeile = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row 
    lngFreieZeile = lngLetzteZeile + 1 
    .Cells(lngFreieZeile, "A") = "Summe:"
    .Cells(lngFreieZeile, "B") = WorksheetFunction.Sum(Range("B1:B" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile, "C") = WorksheetFunction.Sum(Range("C1:C" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile, "D") = WorksheetFunction.Sum(Range("D1:D" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile, "E") = WorksheetFunction.Sum(Range("E1:E" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 1, "A") = "Minimalwert:"
    .Cells(lngFreieZeile + 1, "B") = WorksheetFunction.Min(Range("B1:B" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 1, "C") = WorksheetFunction.Min(Range("C1:C" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 1, "D") = WorksheetFunction.Min(Range("D1:D" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 1, "E") = WorksheetFunction.Min(Range("E1:E" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 2, "A") = "Maximalwert:"
    .Cells(lngFreieZeile + 2, "B") = WorksheetFunction.Max(Range("B1:B" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 2, "C") = WorksheetFunction.Max(Range("C1:C" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 2, "D") = WorksheetFunction.Max(Range("D1:D" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 2, "E") = WorksheetFunction.Max(Range("E1:E" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 3, "A") = "Mittelwert:"
    .Cells(lngFreieZeile + 3, "B") = WorksheetFunction.Average(Range("B1:B" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 3, "C") = WorksheetFunction.Average(Range("C1:C" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 3, "D") = WorksheetFunction.Average(Range("D1:D" & CStr(lngLetzteZeile))) 
    .Cells(lngFreieZeile + 3, "E") = WorksheetFunction.Average(Range("E1:E" & CStr(lngLetzteZeile))) 
End With
Exit Sub
Fehler: 
msgbox "Ein Fehler ist aufgetreten!" & Chr(10) & "Fehlernummer: " & Err.Number _ 
& Chr(10) & "Fehlerbeschreibung: " & Err.Description & Chr(10) _ 
& "Verursacher: " Err.Source & Chr(10) _ 
& "Es sind möglicherweise nicht alle Werte korrekt berechnet!", vbExclamation, "Fehler.."
Err.Clear 
Resume Next
End Sub
	Dann wird der Wert bei jeder Änderung neu berechnet. 
     |