Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dynamische Array Formel via Makro in mehrere Zelle

Dynamische Array Formel via Makro in mehrere Zelle
11.10.2013 18:50:51
Michael
Hallo Zusammen,
brauche mal wieder etwas Hilfe :)
Hab schon mir die Finger wund gegooglet aba nix richtiges gefunden.
Wie kann ich diesen Code dynamisch abändern?
in F2 steht
=INDEX(ZOwner;MAX(WENN(ISTFEHLER(FINDEN(ZTestzone;E2;1));"";ZEILE(ZOwner)-1)))
in F3 steht
=INDEX(ZOwner;MAX(WENN(ISTFEHLER(FINDEN(ZTestzone;E3;1));"";ZEILE(ZOwner)-1)))
in F4 steht
=INDEX(ZOwner;MAX(WENN(ISTFEHLER(FINDEN(ZTestzone;E4;1));"";ZEILE(ZOwner)-1)))
Nun wollte ich das ganze via Makro in einen Bereich einfügen. Nur leider steht in allen 3 Zellen von F2-F4 immer nur =INDEX(ZOwner;MAX(WENN(ISTFEHLER(FINDEN(ZTestzone;E2;1));"";ZEILE(ZOwner)-1))) Er ändert quasi nie die Zelle.
Tabelle3.Range("O2:O" & intZeile).FormulaArray = _
"=INDEX(ZOwner,MAX(IF(ISERROR(FIND(ZTestzone,RC[-10],1)),"""",ROW(ZOwner)-1)))"
Hoffe ihr könnt mir helfen.
Danke für die Hilfe
Gruß
XD

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das ist ja so auch völlig i.O., wenn man ...
12.10.2013 03:20:44
Luc:-?
…eine Fml in das FormulaArray eines ganzen Zellbereichs einträgt, XD;
per manuellem Eintrag ist das nicht anders. Deshalb müssen alle Bereiche in den Argumenten ebenfalls über die gesamte erforderliche ZellenAnzahl reichen, zumindest ist das so bei mehrzelligen (Standard-)MatrixFmln.
Hast du aber vor, 1zellige MatrixFmln (kann man aus deinen Fmln nicht eindeutig erkennen) in einen ganzen Bereich einzutragen, muss jede Zelle des Bereichs einzeln angesprochen wdn, weil sonst eine mehrzellige MatrixFml (über den ganzen Bereich) entsteht, bei der dieser (gewollte) Effekt eintritt.
Morrn, Luc :-?

Anzeige
AW: Dynamische Array Formel via Makro in mehrere Zelle
12.10.2013 10:59:26
fcs
Hallo XD,
wie von Luc beschrieben musst die Formeln anders einfügen.
A) in die 1. Zelle die Arrayformel eintragen, dann diese Zelle kopieren und via Inhalte einfügen die Formeln in den anderen Zellen einfügen
B) in jede Zelle des Bereichs die Arrayformel einfügen
Nachfolgend Makros für die beiden Varianten. Speziell für Variante B müssen die Makrobremsen gelöst werden, da sonst bei längeren Listen die Ausführung des Makros zum Geduldsspiel wird.
mfg
Franz
Sub aaFormelCopy()
Dim intZeile As Integer, StatusCalc As Long
'Makrobremsen lösen
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
With Tabelle3
intZeile = 4 'Testwert
.Range("O2").FormulaArray = _
"=INDEX(ZOwner,MAX(IF(ISERROR(FIND(ZTestzone,RC[-10],1)),"""",ROW(ZOwner)-1)))"
.Range("O2").Copy
.Range("O3:O" & intZeile).PasteSpecial Paste:=xlPasteFormulas
Application.CutCopyMode = False
.Calculate
End With
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
End With
End Sub
Sub abaaFormelEinzeln()
Dim intZeile As Integer, rngZelle As Range, StatusCalc As Long
'Makrobremsen lösen
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
With Tabelle3
intZeile = 4 'Testwert
For Each rngZelle In .Range("O2:O" & intZeile)
rngZelle.FormulaArray = _
"=INDEX(ZOwner,MAX(IF(ISERROR(FIND(ZTestzone,RC[-10],1)),"""",ROW(ZOwner)-1)))"
Next
.Calculate
End With
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
End With
End Sub

Anzeige
AW: Dynamische Array Formel via Makro in mehrere Zelle
12.10.2013 13:31:27
Michael
Hi ihr zwei,
danke, habe nun eine Lösung per Autofill hinbekommen und sogar ohne das man das Blatt Selection muss. Läuft recht gut und schnell, nachdem die Zuordnung vollzogen ist, ersetzte ich die Matrix Formeln durch die jeweiligen Werte der eigenen Zelle und somit is die Datei schön schnell.
Gruß
XD

368 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige