none
Range-Objekt direkt in Formel eingeben? RRS feed

  • Frage

  • Hallo zusammen,

    ich habe ein etwas verzwicktes Problem: Ich sitze an einem Makro, das mir eine sogenannte "variable Trendanalyse" durchführen soll. Konkret heißt das: es wird der lineare Trend innerhalb einer Datenreihe
    zwischen Jahr a und Jahr b b berechnet. Haken dabei ist, dass sich a und b sukzessive ändern, man also unterschiedlich lange Reihen hat. Die Variation erreiche ich über Zählschleifen, in denen ich a und b jeweils die neue Zeilennummer zuweise. Soweit kein Problem - mein Problem liegt in der weiteren Syntax: Wie sage ich der Funktion für die Trendberechnung, dass sie sich den Bereich von Zelle B,a bis Zelle B,b herauspicken soll? So einfach wie gedacht funktioniert das ja leider nicht:

    ActiveCell.FormulaR1C1 = "=Index(LINEST('[GWL Datenbasis (1881-2007)_Trend.xls]Jahr'!R23C2:R129C2),1)"

    Weiterhin spuckte mir die Excel-Hilfe aus, dass man Variablen zumindest in Zellen einbasteln kann (also z.B. Cells(a,2)) und daraus wieder ein Range-Objekt definieren:

    meinBereich =
    '[GWL Datenbasis (1881-2007)_Trend.xls]Jahr'!.Range.(Cells(a,2),Cells(b,2))

    Wenn ich jetzt nicht was völlig falsch verstanden habe, müsste man die erste Anweisung doch letztlich schreiben können:

    ActiveCell.FormulaR1C1 = "=Index(LINEST(meinBereich),1)"

    Oder habe ich irgendwas Wichtiges vergessen? In dieser Schreibweise erhalte ich in der Ausgabe #NAME?

    Wenn jemand einen Tip in dieser Hinsicht hätte, wäre das echt klasse!

    Gruß,
    Imara
    Dienstag, 9. Dezember 2008 17:06