Excel Syntax - Dynamische Zellbezüge - Cells().FormulaLocal =

Hallo liebe Freund des gepflegten Excel-Makros,ich tüfftle gerade an einem Makro für eine Auswertung von einer vielzahl gleichartig aufgebauter Files und hänge dabei gerade bei einer Formulierung.
Ich möchte über VBA eine Formel in eine bestimmte Zelle schreiben…

zB Cells(4, 5).FormulaLocal = „=MITTELWERT(E10:E20)“

… um das File dynamisch zu halten. Also wenn das Makro beendet ist und ich danach noch Änderungen bei den Werten zwischen E10 und E20 mache, solle der Mittelwert aktualisiert werden, als hätte ich die Formel händisch in die Arbeitsmappe getippt.Jetzt kommt das eigentliche Problem: Ich möchte dass die Formel für den Mittelwert so geschrieben wird, dass sich die Zahl hinter dem „E“ auf den Wert bezieht, den ich in eine Zelle schreibe. Also wenn etwa in der Zelle A1 eine 5 eingetragen wird berechnet sich der Mittelwert nicht mehr im Bereich E10:E20 sondern E5:E20.

Ich möchte also den Bereich für die Mittelwertsberechnung über zwei Zellen angeben zB A1 und A2.

Geht sowas? Ich beiss mir daran die Zähne aus… Vielleicht kennt Ihr ja einen Kniff!Danke für Eure Hilfe!
Und ich hoffe ich habe mich verständlich ausgedrückt :smile:
Lg

Hi Peda,

im Tabellenblatt geht das mit INDIREKT(A1) an Stelle des ursprünglichen Bezugs.
Ich würde das tatsächlich zuerst im Blatt als Formel eingeben. Wenn das dann klappt den MakroGenerator anwerfen und die Zelle anklicken ( bearbeiten ). Dann hast Du auch gleich die Übersetzung ins Englische.

Viel Erfolg

Thomas

Danke Thomas!
Bin damit jetzt auf folgende Form gekommen:

ActiveCell.FormulaR1C1 = _
„=AVERAGE(INDIRECT(“„B“"&R[-5]C[-1]),INDIRECT("„B“"&R[-4]C[-1]))"

Die Teile R[-5]C[-1] und R[-4]C[-1] sind scheinbar relative „Koordinaten“ ausgehend von der Zelle in die ich die Formel tippe.
Hab mir schon gedacht dass das ganze mit INDIREKT laufen müsste, aber erst durch deinen Rat mit der Makroaufzeichnung hab ichs jetzt, deshalb:
Danke Danke!

Lg