Hallo Leebo,
Denn die Sub muss ja wissen, wie sie die
beiden Formeln verknüpft. Soll es immer eine Addition sein?
Wenn ja, sind es immer nur die Formeln aus B1 und C1?
Leider ist das nicht so einfach. (Sub sagt mir übrigens überhaupt nichts, ich vermute mal, das hat was mit VBA zu tun?) Ich soll auch nur herausfinden wie es funktioniert, selbst weiß ich nicht genau was meine Chefin damit machen möchte. Wenn ich das richtig verstanden habe, möchte sie sozusagen eine Formel zum „Zusammenklicken“ haben.
Also in etwas so:
In den ersten Spalten stehen irgendwelche Werte (Geldsummen). Sagen wir mal die Formeln von Spalte D bis Spalte K sind in allen Reihen relativ gesehen gleich. Da werden dann mit den Werten allerlei komplizierte Berechnungen angestellt.
Ab Spalte L geht es dann ans eingemachte. Da muss dann ein Ergebnis hin, das sich aus den ganzen anderen Daten und Berechnungen, die sozsuagen nur Zwischenschritte sind, zusammensetzt. So etwa in der Art wie:
Bei L15: Wenn in K15 der Wert größer als Null ist dann nehme die Formel aus D15 und die Formel aus E15 und mulitpliziere das mit 5.
Das dumme ist halt, dass das dann auch nicht in jeder Zeile gleich ist. Bei jeder Reihe sind die Bedingungen anders (es handelt sich um Abteilungen, bei der viele Sondervereinbarungen haben) In der nächsten Zeile könnte dann also stehen:
L16: Nehme die Formel aus F16 und die aus G16 und multipliziere das mit dem Wert aus B16.
Ich bin mir nicht mal sicher, meine Chefin tatsächlich immer nur die Formeln addieren will. Zur Zeit geht sie dann immer in die entsprechenden Zellen, kopiert das da raus und hängt das dann in der Zelle, in der die zusammengesetzte Formel stehen aus, einfach dran. Bei mehreren hundert Datensätzen ist das eine ziemlich aufwendige Angelegnheit.
Sub addiere()
ActiveWorkbook.ActiveSheet.Range(„B1“).Select
bFormula = Selection.Formula
ActiveWorkbook.ActiveSheet.Range(„C1“).Select
cFormula = Selection.Formula
pos = Application.Find("=", cFormula, 1)
splitString = Mid(cFormula, pos + 1)
newFormula = bFormula + " + " + splitString
ActiveWorkbook.ActiveSheet.Range(„D1“) = newFormula
End Sub
Ich wüsste nicht mal, wo ich das hinschreiben würde … (Was mich nicht daran hindern wird, das irgendwie mal auszuprobieren)
Viele Grüße
gipsy