205 Aufrufe
Gefragt in Tabellenkalkulation von

Hallo,

ich kämpfe mit einer Formel die ich mir in Zellen schreiben lassen möchte.

For i = 2 To letzteZeile Step 1
Cells(i, letzteSpalte + 1).Value = Cells(i, SpLieferDatum) - Cells(i, SpBestellDatum)

In einer Schleife schaffe ich es mir das Ergebnis in jede einzelne Zeile zu schreiben.

Ich hätte jedoch gerne die Formel dort stehen.
mit SpLieferDatum und SpBestellDatum bekomme ich die Spalten der jeweiligen geliefert.

Bitte um Unterstützung,

Danke vorab!
Gruß

7 Antworten

0 Punkte
Beantwortet von

Das sollte mittels

Cells(i, letzteSpalte + 1).FormulaR1C1 = "=R" & i &"C" & SpLieferDatum  & "-R" & i &"C" & SpBestellDatum

möglich sein

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo,

eine andere Möglichkeit:

Cells(i, letzteSpalte + 1).FormulaLocal = "=" & Cells(i, SpLieferDatum).Address & "-" & Cells(i, SpBestellDatum).Address

Gruß

M.O.

0 Punkte
Beantwortet von

Hallo,

Danke, das funktioniert bestens! Habe die erste Variante mit R1C1 gewählt.

Jetzt stehe ich natürlich vor dem nächsten Problem, wenn zwei Spalten weiter rechts eine Formel schon etwas komplizierter wird. Also kompoliziert nicht, aber für mich zu komplex um diese in FormulaR1C1 zu übersetzen.

Die Formel würde lauten:

=WENN(E2="";"";WENN(UND(N2<>0;J2<HEUTE());"überfällig";"-"))

Die Spalte E müsste durch die Variable SpMaterial ersetzt werden,
die Spalte N bleibt die Spalte N, ist nämlich schon mit Variable berechnet,
die Spalte J müsste durch die Variable SpLieferdatum ersetzt werden.

Gibt es hier eine Möglichkeit das zu übersetzen.

Danke für eure Mühe!

Gruß

0 Punkte
Beantwortet von

.FormulaR1C1 = 

"=IF(R" & i & "C"& SpMaterial &"="""","""",IF(AND(R" & i & "C14<>0,R" & i & "C"& SpLieferdatum &"<TODAY()),""überfällig"",""-""))"

0 Punkte
Beantwortet von
Danke!

Diese Formel funktioniert natürlich perfekt, Danke!

eine abschließende Frage erlaube ich mir trotzdem noch.

Was müsste ich ändern, damit ich die fixierten Zellbezüge aus der Formel bekomme?

Wie gesagt, wäre nur informativ, funktioniert so auch!

Danke für deine Hilfe!

Gruß
0 Punkte
Beantwortet von

Guten Morgen,

hatte gestern nur wenig Zeit, deswegen die knappe Antwort ;)

jedenfalls erwähnenswert - du bekommst die R1C1 Grundformel einfach indem du den Makrorecorder an machst deine Formel eintippst (den Recorder beendest) und dann im aufgenommenen Code nachsiehst.

Wenn Du hier relative Bezüge eingibst wirst Du sehen ,dass diese satt z.B. R2C5 mit Klammern versehen sind z.B. R[-2]C[2]  was nichts anderes bedeutet als die Zelle 2 Zeilen über und 2 Spalten rechts von der eingegebenen angesprochen wird

Dieselbe Zeile wird mit R  ohne Zahlenangebe und [] angegeben

Du müsstet also R" & i &  durch R ersetzen falls deine Formel in Zeile i steht oder durch

(ZF ist die Zeile in der deine Formel stehen soll)

R[" & ZF - i & "]" &

und für die Spalten dann analog

0 Punkte
Beantwortet von
Danke dir für deine Hilfe!!

Gruß
...