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

Arrayformel per VBA in Zelle setzen

Arrayformel per VBA in Zelle setzen
28.04.2009 16:21:18
UweD
Hallo
per VBA schreibe ich einige Formeln in ein Tabellenblatt.
Ich verwende die .FormulaR1C1 Methode, da ich dann einen ganzen Bereich direkt setzen kann.
so mache ich das bei "Normalen" Formeln


    LR = TB2.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
    TB2.Range("C2:F" & LR).FormulaR1C1 = _
        "=IF(COUNTIF('Rückstand Bandbelegung'!C1,Auswertung!RC1)=0,"""",COUNTIFS('Rückstand Bandbelegung'!C1,Auswertung!RC1,'Rückstand Bandbelegung'!C3,""=""&R1C))"
    TB2.Range("B2:B" & LR).FormulaArray = _


Sieht dann so aus:
 
 C
590
Formeln der Tabelle
C59 : =WENN(ZÄHLENWENN('Rückstand Bandbelegung'!$A:$A;Auswertung!$A59)=0;"";ZÄHLENWENNS('Rückstand Bandbelegung'!$A:$A;Auswertung!$A59;'Rückstand Bandbelegung'!$C:$C;"="&C$1))
 

Bei Arrayformeln mach ich es so: (mit Recorder aufgenommen und nachbearbeitet)


    LR = TB2.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
    TB2.Range("B2:B" & LR).FormulaArray = _
        "=SUM(('Rückstand Bandbelegung'!C1=Auswertung!RC1)*('Rückstand Bandbelegung'!C7<>""""))"
    TB2.Range("C2:F" & LR).FormulaR1C1 = _


dann kommt das raus:
 
 AB
5914.04.20090
Formeln der Tabelle
B59 : {=SUMME(('Rückstand Bandbelegung'!C1=Auswertung!RC1)*('Rückstand Bandbelegung'!C7<>""))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 

soll aber so sein:
 
 AB
5914.04.20090
Formeln der Tabelle
B59 : {=SUMME(('Rückstand Bandbelegung'!$A:$A=Auswertung!$A59)*('Rückstand Bandbelegung'!$G:$G<>""))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 

Wer kann mir helfen?
Grauß UweD

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

Betreff
Datum
Anwender
Anzeige
AW: Arrayformel per VBA in Zelle setzen
28.04.2009 16:44:39
Tino
Hallo,
bei mir spuckt der Rekorder diese Zeile aus.

"=SUM(('Rückstand Bandbelegung'!C1=Auswertung!R[58]C1)*('Rückstand Bandbelegung'!C7""""))"


Gruß Tino

versuche es mal mit dieser
28.04.2009 16:55:00
Tino
Hallo,

"=SUM(('Rückstand Bandbelegung'!C1=Auswertung!R[0]C1)*('Rückstand Bandbelegung'!C7""""))"


Hruß Tino

AW: Arrayformel per VBA in Zelle setzen
28.04.2009 19:53:13
Uduuh
Hallo,
soviel ich weiß, kannst du FormulaArrays nicht in einem Rutsch schreiben. Das musst du per Schleife machen.
Gruß aus’m Pott
Udo

Anzeige
AW: bei mir funktioniert das eigentlich
28.04.2009 22:22:33
Daniel
wenn ich deinen Code bei mir in ein Makro einfüge, dann kommt eigentlich das von dir gewünschte Ergebnis raus. Passt eigentlich soweit.
Ansonsten probiermal die Formel in der A1-Schreibweise einzusetzen.
du kannst die Formeln eigentlich schon im Zellblock einfügen, bei der A1-Schreibweise muss man halt darauf achten, daß die Formel für die erste Zelle des Blocks geschrieben ist.
ansonsten lad mal deine Datei mit dem Fehler hoch, Ursachen kanns vielen geben.
Gruß, Daniel

385 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige