FormulaArray vs. Formula

Bild

Betrifft: FormulaArray vs. Formula von: andre
Geschrieben am: 28.03.2005 09:13:30

Hallöchen,
wenn ich einen Bereich mit Formula ausfülle werden die Zellbezüge relativ genommen. Habe ich FormulaArray, dann ist es absolut. Bekomme man das auch relativ ohne Schleife über jede Zelle gebacken?

Sub Makro1()
'hier steht wie nicht gewollt in B1 {=A1}, in B2 {=A1}, in B3 {=A1} usw.
'gewollt ist in B1 {=A1}, in B2 {=A2}, in B3 {=A3} usw.
Range("B1:B1000").FormulaArray = "=RC[-1]"
End Sub

Sub Makro2()
'hier steht wie erwartet in B1 =A1, in B2 =A2, in B3 =A3 usw.
Range("B1:B1000").Formula = "=RC[-1]"
End Sub

Grüße, Andre
Bild


Betrifft: AW: FormulaArray vs. Formula von: Ramses
Geschrieben am: 28.03.2005 10:32:57

Hallo

Korrekterweise müsste das erstellen eines Arrays heissen:

Range("B1:B1000").FormulaArray = "=RC[-1]:R[1000]C[-1]"

Achtung:
Bei dieser Art der Formelerstellung kann im nachhinein nur das ganze Array geändert werden, das ändern einzelner Zellen innerhalb des Arrays ist nicht möglich.

Gruss Rainer


Bild


Betrifft: AW: FormulaArray vs. Formula von: andre
Geschrieben am: 28.03.2005 11:12:03

Hallo Rainer,
danke erst mal für die Antwort. Die Formel war nur eine Vereinfachung, das Array geht jeweils über einen Bereich in einer Zeile. Und mit FormulaArray nimmt er immer nur Zeile 1 statt die Zeilennummern hochzuzählen.
Grüße, Andre


Bild


Betrifft: AW: FormulaArray vs. Formula von: Ramses
Geschrieben am: 28.03.2005 11:15:14

Hallo

".. Die Formel war nur eine Vereinfachung, ..."

Stell die Frage so, dass sie verstanden wird, und komm hinterher nicht mit irgendwelchen Erklärungen warum das jetzt so da steht.

".. das Array geht jeweils über einen Bereich in einer Zeile.."
Das haben Array's so an sich.

Hast du meine Variante probiert ?
Wahrscheinlich nicht :-(

Gruss Rainer


Bild


Betrifft: AW: FormulaArray vs. Formula von: andre
Geschrieben am: 28.03.2005 13:43:03

Hallo Rainer,

hast Du schlecht geschlafen, Ostern lang gefeiert oder einen harten Vormitag hinter Dir ? :-( Na ja, sowas kann ja mal vorkommen, ich bin auch erst heute früh in's Bett.

ich habe geschrieben
...

Sub Makro1()
'hier steht wie nicht gewollt in B1 {=A1}, in B2 {=A1}, in B3 {=A1} usw.
'gewollt ist in B1 {=A1}, in B2 {=A2}, in B3 {=A3} usw.
Range("B1:B1000").FormulaArray = "=RC[-1]"
End Sub


...

also soll sich dass array auf die jeweilige Zeile beziehen. Das steht in meinem Beispiel ausdrücklich beschrieben:
'gewollt ist in B1 {=A1}, in B2 {=A2}, in B3 {=A3} usw.

Bei Deiner Lösung steht in jeder Zeile dieselbe Formel. Das ist nicht gewollt und in meinem Beispiel auch ausdrücklich beschrieben :
'hier steht wie nicht gewollt in B1 {=A1}, in B2 {=A1}, in B3 {=A1} usw.

Was ist daran unverständlich?

Um zum besseren Verständnis mit Deinem Vorschlag zu arbeiten kannst Du die Formel leicht ändern:
Range("B1:B1000").FormulaArray = "=RC[+1]:RC[+100]"
Damit erhalte ich in allen 1000 Zellen die Formel
{=C1:CX1}
In B1 ist das auch wunderschön. 1000 mal das Ergebnis von Zeile 1 bringt mir aber nix.
in B2 sollte stehen
{=C2:CX2}
in B3 sollte stehen
{=C3:CX3}
usw.
Grüße, Andre


Bild


Betrifft: AW: FormulaArray vs. Formula von: Ramses
Geschrieben am: 28.03.2005 14:08:06

Hallo

"...hast Du schlecht geschlafen,..."
Nein überhaupt nicht,... aber du hast es nicht ausprobiert :-(

Das erhältst du, wenn du meine Anweisung

Range("B1:B1000").FormulaArray = "=RC[-1]:R[1000]C[-1]"

verwendest

Tabelle1
 ABC
111 
222 
333 
444 
555 
6   
Formeln der Tabelle
B1 : {=A1:A6}
B2 : {=A1:A6}
B3 : {=A1:A6}
B4 : {=A1:A6}
B5 : {=A1:A6}
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  


... noch Fragen :-)

Wenn du mit einem Array arbeiten willst, musst du die Eigenheiten in Kauf nehmen.
Ansonsten geht das nur mit

Sub Formel_Ausfuellen()
Range("B1").FormulaR1C1 = "=RC[-1]"
Range("B1").AutoFill Destination:=Range("B1:B1000")
End Sub


Gruss Rainer


Bild


Betrifft: AW: FormulaArray vs. Formula von: andre
Geschrieben am: 28.03.2005 15:54:49

Hallo Rainer,
ich hab's schon probiert-nur hatte ich im Datenbereich erst mal nur identische Daten zum Test und wegen der identischen Formel und dem identischen Ergebnis auf die Zelle A1 als Quelle für das Ergebnis geschlossen...
Na ja, man lernt nie aus ;-)
Grüße und Danke nochmal, Andre


 Bild

Beiträge aus den Excel-Beispielen zum Thema "FormulaArray vs. Formula"