Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dynamische Arrayformel per VBA

dynamische Arrayformel per VBA
17.05.2015 18:04:38
Malte

Hallo!
Zur besseren Beschreibung meines Problems, habe ich eine Beispieldatei angehängt.
https://www.herber.de/bbs/user/97687.xlsx
Ich würde gerne mit den gelb hinterlegten Feldern die Trend-Funktion in Excel benutzen. Ich habe das ganze per Hand, also mit Excelformeln, in die Spalten D und E eingetragen.
Das ganze soll mittels VBA geschehen, doch mit den Arrayformeln bin ich komplett unerfahren und ein bisschen überfragt.
Ich bestimmte zunächst von den letzten berechneten y_1 und y_2 Werten das Vorzeichen der Differenz der Wert (Zelle G7). Dies soll später mein Abbruchkriterium darstellen.
Anschließend soll die Trendfunktion in die Spalte D und E solange eingefügt werden, bis die Bedingung in Spalte G nicht mehr erfüllt ist. In diesem Fall Zeile 68.
Leider weiß ich nicht, wie ich das ganze dynamisch, mit flexiblen Endzeilen umsetzte. Der Makroeditor hat mich auch nicht weitergebracht. Desweiteren kann man leider im nachhenein die Zellen mit der Arrayformel nicht löschen.
Gibt es dennoch eine Möglichkeit, das Problem wie geschildert zu lösen?
Über Tipps und Anregungen würde ich mich freuen.
Vielen Dank!
Gruß
Malte

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamische Arrayformel per VBA
17.05.2015 18:48:04
Michael
Hi Maltke,
versuche es doch mal damit:

Sub formeln()
i = 13
While Range("G" & i)
i = i + 1
Wend
i = i - 1
sd = Range("d13").FormulaArray
p = InStrRev(sd, ":")
sd = Mid(sd, 1, p + 1) & i & ")"
se = Range("e13").FormulaArray
p = InStrRev(se, ":")
se = Mid(se, 1, p + 1) & i & ")"
'MsgBox sd
'MsgBox se
bis = Range("d13").End(xlDown).Row
Range("d13:e" & bis).Clear
Range("d13:d" & i).FormulaArray = sd
Range("e13:e" & i).FormulaArray = se
End Sub
Läßt ein paar unschöne Artefakte stehen (Spalten C+G ab 68), aber das kannste selber programmieren.
Schöne Grüße,
Michael

Anzeige
AW: dynamische Arrayformel per VBA
17.05.2015 18:57:13
Malte
Vielen Dank!
Das sieht sehr gut aus!
Ich versuch mich mal an dem Code entlang zu hangeln.
Danke!
Gruß
Malte

kurzer Nachtrag
17.05.2015 19:14:57
Malte
Könnte man auch eine kubische Extrapolation nach folgenden Beispiel ( http://www.excelformeln.de/formeln.html?welcher=269 ) aus dem Code machen?
Wenn man die entsprechende Zeile ^{1.2.3} einträgt funktioniert es nicht.
Vielen Dank!
Gruß!

alles geklärt! Danke!
17.05.2015 22:17:22
Malte

freut mich, danke für die Rückmeldung owT
18.05.2015 14:49:58
Michael

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige