Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
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 in VBA

Arrayformel in VBA
25.05.2022 08:12:10
Heinz
Guten morgen im Forum,
Ich habe in L6:L36 eine Arrayformel.

{=ANZAHL(VERGLEICH({1.2.3}&"*";C6:H6&"";))
Diese möchte ich jetzt per VBA eingeben.
Makrorekorder hat folgendes aufgezeichnet.

Selection.FormulaArray = "=COUNT(MATCH({1,2,3}&""*"",RC[-9]:RC[-4]&"""",))
Ist das so korrekt ?
Danke
SG, Heinz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arrayformel in VBA
25.05.2022 09:06:44
MCO
Hallo Heinz!
An der Formel hab ich keinen Zweifel
Allerdings wird die mit SELECTION genau da eingegeben, wo die Zelle gerade gewählt ist. Ich vermute, das hast du anders geplant.
Da sollte dann Cells(x,y) oder Range("B57") oder sowas stehen.
Auch den Bereich RC[-9]:RC[-4] solltest du austauschen in Range(C6:H6)
Gruß, MCO
AW: Arrayformel in VBA
25.05.2022 10:11:24
Heinz
Hallo MCO,
Erstmals Danke für deine Hilfe.
Bei der Formel bekomme ich jetzt immer einen Fehler

Sheets("Schichtplan GK").Range("L6:L36").FormulaLocal = "=COUNT(MATCH({1,2,3}&""*"",Range(C6:H6&"""",))
Wo liegt bitte der Fehler ?
Danke
Heinz
Anzeige
AW: Arrayformel in VBA
25.05.2022 10:18:36
Daniel
Kommt darauf an, welchen Zellbereich deine Selektion umfasst.
Da bei deiner Array-Formel das Array nur ein Zwischenergebnis ist und das Endergebnis der Formel ein normaler Einzelwert, kannst du diese Formel nur ein eine Zelle einfügen (L6)
In die restlichen Zellen (L7-L36) müsstest du sie dann mit Copy-Paste übertragen.
Gruß Daniel
AW: Arrayformel in VBA
25.05.2022 10:27:46
Herbert_Grom
Hallo Heinz,
probiers mal damit:

Sub test()
Range("L6:L36").FormulaLocal = "=somefunctions_in_local_language"
Range("L6:L36").FormulaArray = "=COUNT(MATCH({1,2,3}&""*"",C6:H6&"""",))
Servus
Anzeige
AW: Arrayformel in VBA
25.05.2022 10:43:26
Heinz
Hallo Herbert,
Danke, das einfügen deiner Hilfe funktioniert in L6:L36
NUR bleibt immer C6:H6 in den Zellen L6:L36

=COUNT(MATCH({1,2,3}&""*"",C6:H6&"""",))
SG, Heinz
AW: Arrayformel in VBA
25.05.2022 10:49:07
Daniel
Hi
hast du gelesen, was ich dir geschrieben habe?
Wenn du eine Array-Formel eingibst, musst du dafür immer genau so viele Zellen auswählen, wie die Array-Formeln Werte als Ergebnis ausgibt.
Da deine Array-Formel das Array nur temporär benötigt und dann mit ANZAHL die mehreren Werte zu einem einzigen Ergebnis zusammenfasst und somit nur ein Ergebnis hat, kannst du die Formel auch nur in eine einzige Zelle schreiben (L6)
um die Formel in weitere Zellen zu übernehmen, musst du sie kopieren und einfügen.
btw, da MS den Umgang mit Array-Formeln für Excel 365 geändert hat, ist deine Angabe der xlVersion "ohne Relevanz" nicht zutreffend.
Gruß Daniel
Anzeige
AW: Arrayformel in VBA
25.05.2022 10:51:18
UweD
Hallo
siehe den Hinweis von Daniel.

   Range("L6").FormulaArray = "=COUNT(MATCH({1,2,3}&""*"",C6:H6&"""",))
LG UweD
AW: Arrayformel in VBA
25.05.2022 10:52:49
Herbert_Grom
Hallo Heinz,
deshalb habe ich dir den zweiten Code geschickt!
Servus
Danke an MCO, Daniel, Herbert u. Uwe
25.05.2022 11:18:39
Heinz
Danke an MCO, Daniel, Herbert u. Uwe,
Jetzt funktioniert alles wie gewünscht.
Super, Danke für Eure Hilfe
Sorry für meine tlw. Begriffsstutzigkeit.
SG, Heinz
AW: Bitte sehr & danke für die Rückmeldung! owt
25.05.2022 11:19:21
Herbert_Grom
,,,

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige