Du benötigst keine Formel, denn die ergäbe einen Zirkelbezug. A1=A1-B1 geht schlecht, denn wie oft soll das berechnet werden?
Also wirst Du zu einem bestimmten Zeitpunkt die Daten aus Spalte C in Spalte A übernehmen wollen. Das machst Du ganz einfach mit Kopieren, dann INHALTE EINFÜGEN (nicht direkt Strg+C, Strg+V!), dort die Option „Werte“ auswählen. Und fertig…
Hi.
Das mit dem Zirkelbezug war ein toller Hinweis.
Ich habe auch alle Einstellungen dazu gemacht, bekomme es aber immer noch nicht hin das Spalte A das Ergebnis von Spalte C übernimmt.
Ich habe den Zirkelbezug so verstanden:
Ich benötige min. zwei Werte
-> Wert 1 wäre meine Spalte A
-> Wert 2 wäre meine spalte B
und einer der zwei Werte müsste immer gleich sein.
Das ist bei mir jedoch nicht der Fall, denn Spalte A ändert sich rein theoretisch in Abhängigkeit von Spalte C (setzt sich zusammen aus A-B).
Spalte B ändert sich in je nach dem welchen Wert(Zahl) ich dort eintrage.
Kann mir vieleicht jemand eine Lösung anhand meines Beispiels (siehe obere Kommentare) schicken?
Bin schon kurz vor dem Verzweifeln.
dass das aber wieder in Deiner Ausgangsspalte steht:
A2=20 B2=5 (s.o.)
Formel in A3: =WENN(SUMME(A2)*SUMME(B2);A2-B2;"")
diese Formel kopierst Du 100 Zellen oder so nach unten
Du kannst in B3 eine neue Änderung (z.B.) 7 eingeben
-> in A4 steht DANN automatisch -äh- 8 usw…
Spalte A hat einen Lagerbestand von: 200 Bananen Spalte B gibt an wieviele verkauft wurden: 5 Bananen Spalte C rechnet das mit einer Formel aus: =A-B
Wie bekomme ich es jetzt hin, dass das Ergebnis aus Spalte Cin Spalte A übernommen wird?
Hallo Permina
Was Du da vorhast, find ich gar nicht gut!! Willst nicht lieber eine Art Lagerbuchhaltung führen, wo Du Zeile für Zeile die Bezüge eingibst und für jede Zeile den aktuellen Bestand ausgibst?
So wie Du es planst, kannst Du das ohne VBA nicht machen! Ich habe da einen Code gebastelt, aber einzig und allein Dir zu Liebe! Denn noch einmal: so sollte man es nicht machen.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
tc = Target.Column
tr = Target.Row
If tc 2 Then Exit Sub
Veraenderung = Range(Cells(tr, tc), Cells(tr, tc))
SaldoOld = Range(Cells(tr, tc - 1), Cells(tr, tc - 1))
SaldoNew = SaldoOld - Veraenderung
Cells(Target.Row, 1) = SaldoNew
End Sub
Dieses Makro darfst Du nicht unter Module eingeben. Du musst es im Code-Bereich unter Microsoft Excel Objekte eingeben, und zwar in dem Arbeitsblatt, das Du für Deine Berechnungen verwendest.
Die Spalte C ist gar nicht nötig. Es wird in der Spalte A direkt das abgezogen, was Du in der Spalte B eingibst.