Die Aufgabe
In einem definierten Bereich, in einer einzelnen Zelle oder in mehreren werden Zahlen eingegeben. In jeweils der gleichen Zeile soll in der Spalte rechts der entsprechenden Zelle der eingegebene Wert zum bisherigen, bereits dort stehenden Wert addiert werden. Es soll also ‑basierend auf dem bisherigen Ergebnis- immer wieder die Summe gebildet werden. Wird eindeutiger Text (also mit Buchstaben) eingegeben, geschieht nichts. Eine Ziffer oder eine reine Ziffernfolge als Text (beispielsweise '123,45
) wird trotz des Text-Markers '
als Zahl interpretiert. Das Ganze könnte dann so aussehen:
In einer Zelle im Bereich B2:B11 wird ein Wert eingegeben. Sofort nach verlassen der Zelle wird in der gleichen Zeile, Spalte C der alte Wert durch den neuen Wert überschrieben. Der neue Wert ist (natürlich) die Summe des alten Wertes und der Eingabe in Spalte B.
Die Lösung
Diese Aufgabe lässt sich mit einem kleinen Makro (VBA) lösen. Der zu überprüfende Bereich soll B2:B11 sein, die Ergebnisse sollen entsprechend in C2:C11 ausgegeben werden. – Sehen Sie sich die Beispieldatei gerne an. Hier für die „Spezis” das Makro (für praktisch alle Excel-Versionen):
Option Explicit
Private Sub WorkSheet_Change(ByVal Target As Range)
Dim rngPruef As Range
Dim rngZiel As Range
Set rngPruef = Range("B2:B11")
Set rngZiel = Cells(Target.Row, Target.Column + 1)
If Not Intersect(rngPruef, Target) Is Nothing Then
If IsNumeric(Target) Then rngZiel = rngZiel + Target
End If
End Sub
[NachObenLetzte Verweis=„T&T: „Ewige Summe„”]