Microsoft Excel

Herbers Excel/VBA-Archiv

Formel von festen Wert in Variable umstellen | Herbers Excel-Forum


Betrifft: Formel von festen Wert in Variable umstellen von: holger
Geschrieben am: 11.01.2012 17:18:02

Hallo an Alle,

sitze bei einem Problem wieder mal fest.

ActiveCell.EntireColumn.Cells(neuZeile3, 11).Value = "=SUBTOTAL(9,R[2]C:R[485]C)"

schreibt mir in Zelle L11 ein Teilergebnis von L13-L498 ... klappt soweit auch.

nun möchte ich aber anstatt des Wertes 485 eine Variable einsetzen, die ich wie folgt errechne:

subtotalzeile = neuZeile3ab - neuZeile3 – 1 <- hier ist das Ergebnis 485

wie arbeite ich aber nun meine Formel "=SUBTOTAL(9,R[2]C:R[485]C)" um?
485 ändern in subtotalzeile funktioniert nicht.

Kann mit da jemand helfen?

Vielen Dank

Holger

  

Betrifft: AW: Formel von festen Wert in Variable umstellen von: Reinhard
Geschrieben am: 11.01.2012 17:22:06

Hallo Holger,

ungetestet vllt. so:

ActiveCell.EntireColumn.Cells(neuZeile3, 11).Value = "=SUBTOTAL(9,R[2]C:R[" & _
neuZeile3ab - neuZeile3 – 1 & "]C)"

Gruß
Reinhard


  

Betrifft: AW: Formel von festen Wert in Variable umstellen von: holger
Geschrieben am: 11.01.2012 18:08:19

Hallo Reinhard

ActiveCell.EntireColumn.Cells(neuZeile3, 11).Value = "=SUBTOTAL(9,R[2]C:R[ & _
neuZeile3ab - neuZeile3 – 1 & ]C)"

kommt
Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler....

Gruss

Holger


  

Betrifft: AW: Formel von festen Wert in Variable umstellen von: Reinhard
Geschrieben am: 11.01.2012 18:35:07

Hallo Holger,

das ist nicht die Formel von mir. Aber schau mal was luschi schrieb.

Gruß
Reinhard


  

Betrifft: AW: Formel von festen Wert in Variable umstellen von: Luschi
Geschrieben am: 11.01.2012 18:18:05

Hallo Holger,

in Deinen Erklärungen sind ein paar Ungereimtheiten und von 'klappt soweit' kann wohl nicht die Rede sein.
Damit in Zelle 'L11' diese Formel reingeschrieben werden kann, muß die Zelle "B11" aktiv sein und der Befehl so lauten:
ActiveCell.EntireColumn.Cells(neuZeile3, 11).Formula = "=SUBTOTAL(9,R[2]C:R[485]C)"
Das Ergebnis im sieht dann so aus: =TEILERGEBNIS(9;L13:L496), da von Zeile 11 aus gerechnet wird, in der die Formel steht (11+485 = 496)
Um also bis L498 auszuwerten muß die Formel so sein: "=SUBTOTAL(9,R[2]C:R[487]C)"
Da diese Formel bei der Übergabe ein String ist, kann man den auch zusammensetzen:
subtotalzeile = neuZeile3ab - neuZeile3 – 1 <- muß hier aber 487 ergeben
"=SUBTOTAL(9,R[2]C:R[" & subtotalzeile & "]C)"

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Formel von festen Wert in Variable umstellen von: holger
Geschrieben am: 11.01.2012 18:38:08

Hallo Luschi

richtig B11 ist aktiv.

~f~ ActiveCell.EntireColumn.Cells(neuZeile3, 11).Formula = "=SUBTOTAL(9,R[2]C:R[" & subtotalzeile & "]C)"
funktioniert.

anstatt .Formula ist bei .Value aber das gleiche Ergebnis. Nutze nun aber nun wie von dir geschrieben .Formula

Vielen Dank

Holger


  

Betrifft: AW: Formel von festen Wert in Variable umstellen von: Luschi
Geschrieben am: 11.01.2012 18:53:35

Hallo Holger,

ich wollte es nicht glauben, aber tatsächlich macht auch .Value aus dem String 'ne Formel.
Und das in allen bei mir installierten Versionen ab ExcelXP (2002) SP3.
lt. Excel-Vba-Hilfe sollte man ja .FormulaR1C1 benutzen.

Gruß von Luschi
aus klein-Paris


Beiträge aus den Excel-Beispielen zum Thema "Formel von festen Wert in Variable umstellen"