Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1872to1876
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

Auto Filldown Matrixformel

Auto Filldown Matrixformel
18.03.2022 09:44:17
Kalle
Liebes Forum,
ich möchte gerne beim Dateistart eine Matrixformel (Modul-Funktion] in X5 einsetzen und diese automatisiert via FillDown über die bestehenden Daten laufen lassen. Mein bisheriger Versuch scheitert aber an einem Laufzeitfehler, der wohl mit zusätzlichen Array-Eigenschaften zu tun hat - aber warum nur?

Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("ZOE_Aktuell")
Range("X5").FormulaArray = _
"={AendVorWo($A$5:A5;$E$5:E5;$V$5:V5;0;100)}"
Range("X5:X" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown
End With
End Sub
Die Datei ist etwas zu groß für hier, daher der Privatlink: https://drive.google.com/file/d/1Ky7XSRSH2-kjpDTMDUeGMCVwKBlmUafe/view?usp=sharing
Der Grund für dieses Anliegen ist ein merkwürdiges Verhalten von Excel: Sobald ich neue Zeilen anlege oder einfüge, wird die forlaufende Formelführung der Matrixformel unterbrochen, so dass Quatsch berechnet wird und ich die Formel immer wieder manuell "herunterziehen" muss.
Freue mich wie immer auf Eure Ideen
Danke und viele Grüße
Kalle

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auto Filldown Matrixformel
18.03.2022 09:54:15
Rudi
Hallo,
lass die {} in der Formel weg.
Gruß
Rudi
AW: Auto Filldown Matrixformel
18.03.2022 10:13:37
Kalle
Hallo Rudi,
Dein Tipp brachte leider keine Veränderung. Selber Fehler: "Die FomulaArray-Eigenschaft des Range-Objekts kann nicht festgelegt werden" ...
VG Kalle
AW: Auto Filldown Matrixformel
18.03.2022 10:53:38
ChrisL
Hi
Englische Schreibweise mit Komma statt Strichpunkt

Range("X5").FormulaArray = "=AendVorWo($A$5:A5,$E$5:E5,$V$5:V5,0,100)"
cu
Chris
AW: Auto Filldown Matrixformel
18.03.2022 11:21:12
Kalle
Perfekt! Das war der Grund und nun läuft es wie gewollt. Vielen Dank!
Kannst Du Dir erklären, warum in einer intelligenten Tabelle diese merkwürdige Unterbrechung der Formelfolge eintritt? Das habe ich bisher noch nirgendwo in dieser Form erlebt ...
VG Kalle
Anzeige
Anschlussfrage offen
18.03.2022 11:35:49
ChrisL
Hi
Danke für die Rückmeldung.
Die Datei konnte ich nicht downloaden (Firewall verbietet Google-Drive), weshalb ich nicht weiss, was genau gemeint ist. Anhand der Beschreibung vermute ich, dass ich sowas auch noch nie gesehen habe.
Ich lasse offen.
cu
Chris
AW: Anschlussfrage offen
18.03.2022 12:03:53
Kalle
Ok, Danke!
Neues Phänomen: Wenn ich eine normale Formel auf diese Weise und unter Beachtung der Schreibweise in den FillDown setze, schreibt Excel immer "@" zwischen Istgleich und die Formel. Es erscheint dann der Fehler #NAME in allen Zellen. Was ist daran bitte inkorrekt?

Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("ZOE_Aktuell")
Range("X5").FormulaArray = "=AendVorWo($A$5:A5,$E$5:E5,$V$5:V5,0,100)"
Range("X5:X" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown
Range("Y5").FormulaArray = "=Aend1Wo($A$5:A5,$E$5:E5,$V$5:V5,0,100)"
Range("Y5:Y" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown
Range("Z5").Formula = "=TEILERGEBNIS(103,E5)"
Range("Z5:Z" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown
End With
End Sub
Viele Grüße
Kalle
Anzeige
AW: Anschlussfrage offen
18.03.2022 12:18:27
Rudi
wenn du deutsche Funktionsnamen verwendest, musst du auch FormulaLocal verwenden.
Range("Z5").FormulaLocal = "=TEILERGEBNIS(103,E5)"
Gruß
Rudi
AW: Anschlussfrage offen
18.03.2022 12:22:16
ChrisL
Hi
Wie Rudi schreibt, aber dann mit Strichpunkt:

Range("Z5").FormulaLocal = "=TEILERGEBNIS(103;E5)"
oder eben die englische Schreibweise:

Range("Z5").Formula = "=SUBTOTAL(103,E5)"
Variante 2 ist mir persönliche sympathischer, da es auch auf fremdsprachigen Rechnern funktioniert.
cu
Chris
AW: Anschlussfrage offen
18.03.2022 12:35:31
Kalle
... ok Danke! Da muss man offenbar mehr beachten als angenommen. Die Teilergebnisformel wird jetzt ordentlich eingefügt.
Da wir gerade bei der Schreibweise sind:

Range("AA5").FormulaLocal = "=WENN(L5="anwesend",1,"")"
Wie verpacke ich Formeln, die sich auf Strings beziehen, ohne dabei die Befehls-Syntax zu zerschießen? Habe es mit Hochkommata probiert, aber er meckert trotzdem rum ... Gibt es dazu eine einheitliche Verfahrensregel?

Range("AA5").FormulaLocal = "=WENN(L5='anwesend';1;'unentschuldigt')"
LG Kalle
Anzeige
AW: Anschlussfrage offen
18.03.2022 12:41:54
ChrisL
Hi
verdoppeln und weiterhin Komma/Strichpunkt beachten...

Range("AA5").FormulaLocal = "=WENN(L5=""anwesend"";1;"""")"
Range("AA5").Formula = "=IF(L5=""anwesend"",1,"""")"
Range("AA5").FormulaLocal = "=WENN(L5=""anwesend"";1;""unentschuldigt"")"
Range("AA5").Formula = "=IF(L5=""anwesend"",1,""unentschuldigt"")"
cu
Chris
AW: Anschlussfrage offen
18.03.2022 12:54:27
Kalle
Ok, super - habe ich jetzt verstanden. Ich lasse die Frage weiterhin wegen der Excel-Anomalie offen ...
Danke an Euch beide - wie immer eine Freude, hier mitzumachen.
VG Kalle

55 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige