Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Berechnung Excel Summe





Frage

Guten Tag, da ich zum ersten mal an einem Forum teilnehme, bitte ich daher um Verständnis. Mein Problem ist die Summierung zweier Zellen A1 - Gesammtergebnis B1- neuer Eintrag Wie gestallte ich eine Formel, sodass bei jedem Neueintrag in Zelle B1 der eigegebene Betrag dazu addiert wird, ohne dass diese Formel bei den darauffolgenden Zellen (A2,A3..; B2, B3..)die Summierung der ersten beiden Zellen fortsetzt. A B Gesamt Einzeleintrag neu - € 10,00 € ....... ................ Vielen Dank für eine Unterstüzung

Antwort 1 von antje-utecht

Hallo,
ich nehme heute auch zum ersten Mal an einem Forum teil. Deshalb will ich Dir gerne helfen, Dein Problem zu lösen, habe es jedoch nicht ganz verstanden.
Generell ist es jedoch so: wenn Excel eine Summe in einer bestimmten Zelle berechnen soll, klickt man 1. in die Zelle hinein, dann klickt man 2. mit der Maus in das Feld, das sich neben dem roten Kreuz, dem grünen Häckchen und dem "=" befindet und schreibt dort 3. zum Beispiel folgendes hinein: =SUMME(C1:C2) und drückt 4. Enter. Das Beispiel gilt, wenn man C1 und C2 summieren will. Will man zum Beispiel B2 und B3 summieren, wäre die Eingabe =SUMME(B2:B3)
Will man keine Zellen summieren, die sich nebeneinander befinden, sondern nur einzelne einer Reihe, muss man die Zellenangaben durch ein Semikolon trennen, also Summierung von B2, B7 und B9 wäre dann =SUMME(B2;B7;B9).

Ich hoffe, ich konnte Dir helfen.

Viele Grüße - Antje.



Antwort 2 von cmkatz

Hallo,

mit ner Formel wird das nicht ganz funktionieren, aber das ist per VB zu lösen.

Du gehst mit Alt+F11 in den VB-Editor und klickst doppelt auf "Tabelle1(Tabelle1)" und kopierst folgenden Code in das sich öffnende Fenster:


Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$B$1" Then Call summe_kopieren
End Sub


dann fügst du über Einfügen - Modul ein Modul "Modul 1" ein, klickst doppelt darauf und kopierst folgenden Code hinein:


Sub summe_kopieren()
    Range("A1").Select
    Selection.Copy
    Range("C1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub


In A1 schreibst du die Formel =SUMME(B1;C1)

Wenn du jetzt in B1 eine Zahle eingibst, wir din A1 die Summe berechnet und diese Summe in C1 kopiert. Gibst du jetzt in B1 einen neue Zahl ein, wird in A1 die neue Summe aus der vorherigen Summe und der neuen Zahl gebildet und in C1 kopiert. Und so geht's immer weiter.

Gruß
cmkatz

Hat's geholfen?

Antwort 3 von Chris Behrendt

Danke für eure Hilfe, konnte leider nicht das Problem lösen. Vielleicht eine vereinfachte Darstellung:

Spalte A1 soll Gesamtbetrag Euro bedeut.
Spalte B1 soll der jeweilige Neueintrag Euro bedeut.
Bei jeder Neueingabe eines Wertes in B1 soll dieser zu A1 addiert werden. Probleme ergeben sich bei Eintrag einer anderen Zahl in andere Zelle, dass die Formel für A1 automatisch weiterrechnet, ohne in B1 einen neuen Wert zugeordnet zu haben.

Antwort 4 von cmkatz

Hallo Chris,

Zitat:

Bei jeder Neueingabe eines Wertes in B1 soll dieser zu A1 addiert werden.


Meine Lösung macht genau das, nurmit einer Hilfszelle C1.

Zitat:

Probleme ergeben sich bei Eintrag einer anderen Zahl in andere Zelle, dass die Formel für A1 automatisch weiterrechnet, ohne in B1 einen neuen Wert zugeordnet zu haben.


so ganz habe ich das jetzt nicht verstanden. Was passiert genau mit der Zahl in A1? Wird mit dieser weiter gerechnet? Was ist die "Formel für A1"?

Gruß
cmkatz

Antwort 5 von cmkatz

So, habe nochmal nach nachgeschaut. Meine Lösung hatte doch einen Fehler, sorry.

Ist aber leicht auszubessern:

einfach im Makro A1 und C1 vertauschen und in die SUMME-Formel aus A1 löschen und in C1 =SUMME(A1;B1) eintragen.

Jetzt wird in A1 immer der in B1 eingetragene Wert hinzugezählt.

Gruß
cmkatz

Antwort 6 von Chris Behrendt

Gruß an cmkatz,

vielen Dank für deine Hilfe. Es fuktion. für eine Zeile, Prima. Ich kenn mich fast überhaupt nicht mit Vb aus. Eine Frage: Wie ist es möglich, dass diese Anwendung für alle nachfolgenden Zellen (A2,A3 usw)auch funktioniert? Mit anklicken des Kreuzes und nach unten ziehen, oder in der Formel im VB erweitern mit A2 usw. ist es nicht machbar. Die Mappe enthält 8 einzelne Doppeltabellen, jeweils 2 nebeneinander, aber jede ist separat mit Gesamt und Eintrag neu? Ich könnte dir auch mal die Mappe zur Ansicht zusenden.

Im Dank voraus Chris

Antwort 7 von cmkatz

jo, generell machbar. dazu sollte man aber wissen, welche Zellen involviert sind.
schick mir die Tabelle mal, danke.

Gruß
cmkatz

Antwort 8 von Chris Behrendt

Hallo cmkatz,

ich bräuchte doch mal deine Mail-Adresse.

Gruß Chris

Antwort 9 von cmkatz

steht in meiner ViSi, einfach auf meinen Namen klicken.

Gruß
cmkatz

Antwort 10 von Chris Behrendt

Hallo cmkatz, ging an folgende Mail-Adresse:cn@cmkatz.de

Gruß Chris

Antwort 11 von cmkatz

Hallo,

also, ich habe mir mal die Tabelle angesehen und folgenden Code in jede der 12 Tabellen eingetragen:
(er funktioninert nur, wenn der Blattschutz aufgehoben wurde!)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Intersect(Target, Range("$F$15:$F$59")) Is Nothing Then
Else
Range("E" & Right(Target.Address, 2)).Value = _
Range("E" & Right(Target.Address, 2)).Value + Target.Value
End If
If Intersect(Target, Range("$J$15:$J$59")) Is Nothing Then
Else
Range("I" & Right(Target.Address, 2)).Value = _
Range("I" & Right(Target.Address, 2)).Value + Target.Value
End If
End Sub


Soweit so gut, das sollte jetzt so funktionieren wie gewünscht. Aber das mit dem Zurücksetzen haut nicht hin. Habe folgendes Makro in Modul1:


Sub zurücksetzen()
    Range("N1").Select
    Selection.Copy
    Range("E16:E27,E33:E40,E45:E49,E55:E58,F16:F27,F33:F40,F45:F49,F55:F58,I16:I27,I33:I40,J16:J27,J33:J40").Select
    Range("I27").Activate
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Das kann man dann, wenn's denn mal funzt, einem Button in jeder Tabelle zuordnen. Aber beim Aufruf des Makros bekomme ich immer einen

Laufzeitfehler "13": Typen unverträglich

Beim Klick auf Debuggen öffnet sich der VB-Editor und die Zeilen

Range("E" & Right(Target.Address, 2)).Value = _
Range("E" & Right(Target.Address, 2)).Value + Target.Value

werden gelb hinterlegt. Ich habe aber noch nicht herausfinden können, woran das liegt.

Nun ja, vielleicht kann uns da ja ein anderer SN-Excel-VB-Profi helfen.. :-D

Gruß
cmkatz

P.S: hab dir die Datei mal zurückgemailt

Antwort 12 von Chris Behrendt

Hallo cmkatz, vielen Dank für deine Unterstützung,
könntest du bitte die Tabelle nochmals schicken, da bei mir ständig eine
Fehlermeldung beim öffnen erscheint. Es wird gemeldet ,dass diese datei ein
ungültiges Archiv ist. Wahrscheinlich ist es Downloadfehler.
Ansonsten nochmals vilen Dank für deine Hilfe.


Antwort 13 von cmkatz

ok, ist unterwegs...

Antwort 14 von Chris Behrendt

hallo cmkatz,

will irgendwie nicht, aber mit der Anleitung von dir und diesen Code denk ich mal , dass ich das selber schaffe. Nur noch eine Frage. Warum meckert der Vb rum, wenn ich den Blattschutz aktiviere? Ist dieses miteinander nicht kompatibel? Oder hilft diese erneut unter anderen Namen abzulegen und eine Rep auszuführen?

Danke Chris

Antwort 15 von cmkatz

Das mit dem Blattschutz ist wohl so:

das Makro bzw. der Code greift ja auf die Spalte E bzw. I zu. Wenn diese aber geschützt ist, läßt sich kein Eintrag machn, auch nicht per Makro. Ich habe jedenfalls keinen Weg gefunden, trotz Blattschutz den Code zum Laufen zu bringen.

Gut möglich, dass es da einen Trick gibt.

Gruß
cmkatz

Antwort 16 von Chris Behrendt

Ok nochmals danke für deine Hilfe, wenn ich mich irgendwie revanchieren kann so lass es mich wissen.
Gruß Chris

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: