Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Matrixfunktion in VBA

Matrixfunktion in VBA
06.05.2019 12:34:09
Alina
Hallo zusammen,
ich habe eine Frage zu meinem VBA-Code.
Dim Zeile1 As Long
Zeile1 = Cells(Rows.Count, 2).End(xlUp).Row
Range("AP2" & ":AP" & Zeile1).FormulaArray = "=IF(AND(RC[-1]Start!R28C2:R35C3),"""",1)"
Jedoch wird dabei nur die Zelle AO2 mit der Matrix durchgängig verglichen. Wie schaffe ich es, dass der Code dabei in jede einzelne Zeile springt?
Vielen Dank!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Matrixfunktion in VBA
06.05.2019 13:13:38
Daniel
Hi
was genau möchtest du mit dieser Formel erreichen?
Gruß Daniel
AW: Matrixfunktion in VBA
06.05.2019 18:09:40
Stef
Hi Alina,
mit einer For-Schleife müsste es gehen, sofern ich die Fragestellung richtig verstanden habe.
Dim i As Long
Dim Zeile1 As Long
Zeile1 = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To Zeile1
Range("AP" & i).FormulaArray = "=IF(AND(RC[-1]Start!R28C2:R35C3),"""",1)"
Next i
Habe es jedoch nicht getestet.
Anzeige
AW: Matrixfunktion in VBA
06.05.2019 21:40:59
Daniel
Stimmt Stef, singuläre Matrixformeln (dh Formeln, bei denen die Matrix nur ein Zwischenergebnis ist und die nur einen Wert als Gesamtergebnis haben), kann man nicht in alle Zellen gleichzeitig schreiben, weil Excel dann davon ausgeht, dass es eine plurale Matrxiformel (mehrere Ergebnisse für die Gesamtformel) ist und keine Einzelformeln.
trotzdem kann man die Schleife vermeiden, indem man die Formel zunächst nur in die erste Zelle schreibt und dann per Copy-Paste überträgt:
Range("AP2").FormulaArray = "=IF(AND(RC[-1]Start!R28C2:R35C3),"""",1)"
Range("AP2").Copy Destination:=Range("AP3:AP" & Zeile1)
wenn ich die Formel richtig verstanden habe, müsste hier aber auch ein einfaches ZählenWenn ausreichen, welches man dann in einer normalen Formel in alle Zellen gleichzeitig schreiben kann:
Range("AP2:AP" & zeile1).Formula = "=IF(CountIf(Start!R28C2:R35C3,RC[-1])=0,"""",1)"
Gruß Daniel
Anzeige
AW: Matrixfunktion in VBA
07.05.2019 08:52:50
Alina
Vielen Dank euch beiden!
Ja die zählenwenn Funktion geht natürlich auch :D Danke für den Tipp!
Aber immerhin weiß ich jetzt, falls ich wieder eine Matrix-Funktion habe, wie ich damit umgehe :)
Viele Grüße
Alina
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige