eine Standardfunktion gibt es dafür nicht, man kann aber sowas
programmieren. Bist Du an einer programmierten Lösung interessiert, dann
würde ich mich mal damit beschäftigen.
Viele Grüße
Bernd
MVP für Microsoft Excel
Das VBA-Kompendium und Makro-Einsteigerbücher mit Leseproben(PDF)
unter http://held-office.de
"Gerhard Wolf" <ike....@t-online.de> schrieb im Newsbeitrag
news:bavqc9$jm0$01$1...@news.t-online.com...
Änderst Du ihn nun mittels F2, soll bspw. nichts passieren (oder eben doch).
Überschreibst Du ihn, soll bei Abschluß mit Enter der alte Wert hervorgeholt
werden und zum jetzigen hinzuaddiert werden (wieder mit einem Ereignis).
Vorsichtshalber sollte der eingegebene Wert wieder in einer Variable
gesichert werden, damit ein Shortcut-getriebenes Undo möglich ist.
So stelle ich mir das vor.
Gruß Alexander
Gerhard Wolf <ike....@t-online.de> schrieb in im Newsbeitrag:
bavqc9$jm0$01$1...@news.t-online.com...
Gerhard Wolf schrieb:
>
> zur Bildung einer Satistik müssen in einer großen Datenbank
> pro Datensatz mehrere Werte addiert werden. Gibt es eine Funktion die
> bewirkt, dass
> zu dem alten Zahlenwert einer Zelle der neue eingegebene Wert der gleichen
> Zelle addiert wird?
Du könntest eine 'händische' Lösung wie folgt realisieren:
Schreibe den zu addierenden Wert in eine Zelle und kopiere ihn in die
Zwischenablage.
Markiere dann alle Zellen, die um den soeben kopierten Betrag erhöht werden
sollen (mit Shift-Taste für zusammenhängende Bereiche, mit Strg-Taste für
unzusammenhängende), dann Menü Bearbeiten --> Inhalte Einfügen --> [x]
'Addieren' anwählen --> [OK]
--
Mit freundlichen Grüssen
Thomas Ramel
- MVP für Microsoft-Excel -
[Win 2000Pro SP-3 / xl2000 SP-3]
eigentlich nur mit VBA möglich (mit Ausnahme - folgt!)
nach diesem Muster:
Option Explicit
Public z As Double
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address(0, 0) <> "A1" Then Exit Sub
On Error GoTo fehler
Application.EnableEvents = False
Target = Target + z
fehler:
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As
Excel.Range)
If Target.Address(0, 0) <> "A1" Then Exit Sub
On Error GoTo fehler
z = [A1]
fehler:
End Sub
Die Codes gehören als Ereignismakros in das Klassenmodul
der Tabelle und nicht in ein allgemeines Modul.
Bezieht sich testweise nur auf A1:
Sobald dort ein Wert eingetragen wird, wird dieser zum
vorherigen addiert.
Allerdings kannst du den Zellwert nicht mehr so einfach
löschen (zumindest nicht mit der Entf-Taste).
Möglichkeit ohne VBA (allerdings manchmal etwas heikel):
Extras-Optionen-Berechnen
Häkchen bei Iteration, Max: 1, Min: 0,001
Jetzt bezogen auf A1:
Schreib in A1 =A1+B1
Wenn du jetzt in B1 Werte eingibst, werden diese immer zu
A1 hinzuaddiert - geht also nicht in der selben Zelle,
aber der Wert von A1 wird immer "zwischengespeichert".
Wenn die Iteration nicht aktiviert ist, dann erhälst du
die Fehlermeldung ZIRKELBEZUG.
------------------
Gruß Boris
>-----Originalnachricht-----
>.
>
"Gerhard Wolf" schrieb:
> zur Bildung einer Satistik müssen in einer großen Datenbank
> pro Datensatz mehrere Werte addiert werden. Gibt es eine Funktion die
> bewirkt, dass
> zu dem alten Zahlenwert einer Zelle der neue eingegebene Wert der gleichen
> Zelle addiert wird?
rein mit Excel-Bordmitteln und Iterartion kannst du in einer Zelle keine Werte kumulieren.
Folgender Vorschlag mittels VBA:
Angenommen, die zu adddierende Zelle ist im ersten Tabellenblatt der Datei in Zelle A1,
dann folgende Prouzedur in das Codemodul "DieseArbeitsmappe":
Private Sub Workbook_Open()
Remember = Worksheets(1).Range("A1").Value
End Sub
In das Codemodul der Tabelle:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = "" Then
Remember = 0
Exit Sub
End If
If Not IsNumeric(Target.Value) Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
Exit Sub
End If
Application.EnableEvents = False
Target.Value = Target.Value + Remember
Application.EnableEvents = True
Remember = Target.Value
Target.Select
End Sub
In ein allgemeines Modul:
'##############
Public Remember As Double
'##############
Hilft dir das weiter?
--
Mit freundlichen Grüßen
Melanie Breden
_____________________
[Microsoft MVP für Excel]
"Gerhard Wolf" <ike....@t-online.de> schrieb im Newsbeitrag
news:bavqc9$jm0$01$1...@news.t-online.com...
>