Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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

relative Bezüge werden falsch berechnet

relative Bezüge werden falsch berechnet
25.09.2008 12:47:41
Christoph
Hallo Zusammen,
habe ein kleines Problem, ich habe ein Unterprogramm geschrieben, das in 3 Spaltenbereichen eine Art 'Master-Formel' auf die benötigte Anzahl von Zeilen erweitert. Diese enthält relative Bezüge.
In einem anderen Abschnitt des Programms funktioniert das wunderbar, wobei dort direkt unter der 'Master-Formel' angesetzt wird mit der Erweiterung und nicht erst in einem Abschnitt weiter unten. Wenn ich es von Hand mache (copy-->paste formula) funktioniert es auch, wenn es übers Makro läuft, erzeugt er zwar auch pseudo richtigie Formeln, aber er beginnt nicht in der entsprechenden Zeile, sondern kopiert die Master-Formel 1:1 und rechnet von dort aus fortlaufend weiter. (Sprich: Er sollte gleich z.B. mit Zeile 734 anfangen, siehe Formel unten, beginnt aber mit 4, in welcher die Ausgangsformel stand)
Im Folgenden findet ihr den Abschnitt aus meinem Code sowie ein Beispiel einer solchen Masterformel, wobei dort, glaube ich der Fehler nicht liegt, wie gesagt manuell funktioniert es ja einwandfrei.
Wäre Euch sehr dankbar für Unterstützung, komme einfach nicht auf die Lösung.

Sub extend_formula_W_3()
Set W_3 = Worksheets("3_calculate")
extend_variable = "G" & implement_row & ":I" & implement_row + needed_rows - 1
W_3.range(extend_variable) = W_3.range("G4:I4").Formula
extend_variable = "K" & implement_row & ":M" & implement_row + needed_rows - 1
W_3.range(extend_variable) = W_3.range("K4:M4").Formula
extend_variable = "AA" & implement_row & ":AC" & implement_row + needed_rows - 1
W_3.range(extend_variable) = W_3.range("AA4:AC4").Formula
End Sub


FORMELBEISPIEL:
=WENN(REST(ZEILE(H4)-3;row_rythym)=0;SUMME(INDIREKT("G"&ZEILE(H4)-row_rythym+1) :INDIREKT("G"&ZEILE(H4)))-(ZEILE(H4)/100000);"")
Besten Dank
gruß christoph
PS: Wichtig wäre es die Formeln eben unten anzusetzen und nicht den kompletten Bereich neu zu füllen, (das denke ich geht ohne Schwierigkeiten), da das ganze früher oder später sehr groß wird und ich die Laufzeit nicht unnötig ausdehnen will.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: relative Bezüge werden falsch berechnet
25.09.2008 12:51:00
Matthias
Hallo Christoph,
arbeite unter VBA mit .FormulaR1C1, wenn du relative Bezüge auslesen und setzen willst.
Gruß Matthias
AW: relative Bezüge werden falsch berechnet
25.09.2008 13:00:43
Christoph
Hallo Matthias,
danke für die schnelle Antwort, perfekt, das bringt mich schon eine riesen Schrít weiter, kleines Problem habe ich jetzt aber immer noch, er macht jetzt in der Formel 2er Sprünge, also 780,782,784...
Hättest Du dafür eventuell auch eine Lösung?
Danke wie gesagt
gruß christoph
AW: relative Bezüge werden falsch berechnet
25.09.2008 12:59:51
Rudi
Hallo,

Wenn ich es von Hand mache (copy-->paste formula) 


das ist ja auch was anderes, als der Code macht.
Warum gibst du den Range als String an? Bremst nur unnötig.
Versuchs mal so:
with W_3
.range("G4:I4").copy .range(.cells(implement_row ,7),.cells(implement_row + needed_rows - 1, 9))
end with
Gruß
Rudi

Anzeige
AW: relative Bezüge werden falsch berechnet
25.09.2008 13:30:15
Christoph
Hallo Rudi,
herzlichen Dank für Deine Antwort. Löst mein Problem perfekt.
Bzgl. deines Hinweises: Ich wusst nicht, dass in der range-Angabe über .Cells den bereich vorgeben kann, da werde ich so einiges umschreiben.... Besten Dank, man lernt nie aus. Werde meine VBA-Angabe im Forum auf 'bescheiden' zurück setzen... :-)
Wie gesagt besten Dank.
@ Matthias: Auch Dir vielen Dank, mein Problem ist somit gelöst.
gruß christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige