VBA Formeln um eine Zeile runterziehen

Juwee

Mitglied
Guten Morgen,
abgesehen davon, dass in der Beispieldatei die Formel in M nichts anzeigt*, geht es mir um folgendes:
In Spalte A steht ein Datum, in M, N, O und R stehen Formeln.
Nun möchte ich erreichen, dass immer wenn in Spalte A ein neuer Datensatz eingegeben wird, die Formeln aus der Zeile darüber runtergezogen werden bzw wieder gelöscht wenn auch das Datum gelöscht wird.
Leider hatte ich mit VBA schon seit einigen Jahren nichts mehr zu tun, so dass mir jeder Lösungsansatz fehlt
Viele Grüße Juwee

*(Die Formel in M habe ich aus einem anderen Projekt übernommen, wo sie problemlos funktioniert, und aus meiner Sicht auch korrekt angepasst. Von dem Ergebnis hängt auch das korrekte Ergebnis in Spalte O und R ab)
 

Anhänge

  • Formel runter wenn neuer DS.zip
    10,5 KB · Aufrufe: 1
Wofür brauchst du die MMULT-Funktion?
Das ist ne Matrix-Funktion, die nicht wirklich was bringt (glaub ich zumindest)

Anyway, dein Fehler ist im ersten Parameter für MMULT
(ich musste ein Leerzeichen zwischen ":" und "D" einfügen sonst wird das in einen Smiley übersetzt)
Original
=SUMMENPRODUKT(MMULT((B$2:L$2=Ressourcen!D$2: D$12)*(B2:L2="x")*Ressourcen!E$2:E$12;ZEILE(A$1:A$11)^0))

Korrekt
=SUMMENPRODUKT(MMULT((B$1:L$1=Ressourcen!D$2: D$12)*(B2:L2="x")*Ressourcen!E$2:E$12;ZEILE(A$1:A$11)^0))

Ergibt für die Beispieldaten 12 (M1, M2 und M8 summiert zu 12 aus Ressourcen)

Ohne MMULT
=SUMMENPRODUKT((B$1:L$1=Ressourcen!D$2: D$12)*(B2:L2="x")*Ressourcen!E$2:E$12)
Ergibt auch 12

Wie du Excel dazu bekommst dir automatisch die Formeln einzufügen/runter zu kopieren hab ich Antworten im Netz gefunden (Auf Englisch), und die meisten verweisen darauf, dass du den Bereich als "Tabelle" deklarieren musst
Bin mir da aber nicht so sicher.
Klar, mit VBA ist es einfach (Stichwort SelectionChange-Ereignis), aber wer arbeitet mit der Tabelle? Nur du?
Es ist immer eine heikle Sache, Makros im Business-Bereich zu aktivieren
 
Wofür brauchst du die MMULT-Funktion?
Das ist ne Matrix-Funktion, die nicht wirklich was bringt (glaub ich zumindest)

Anyway, dein Fehler ist im ersten Parameter für MMULT
(ich musste ein Leerzeichen zwischen ":" und "D" einfügen sonst wird das in einen Smiley übersetzt)
Original
=SUMMENPRODUKT(MMULT((B$2:L$2=Ressourcen!D$2: D$12)*(B2:L2="x")*Ressourcen!E$2:E$12;ZEILE(A$1:A$11)^0))

Korrekt
=SUMMENPRODUKT(MMULT((B$1:L$1=Ressourcen!D$2: D$12)*(B2:L2="x")*Ressourcen!E$2:E$12;ZEILE(A$1:A$11)^0))

Ergibt für die Beispieldaten 12 (M1, M2 und M8 summiert zu 12 aus Ressourcen)

Ohne MMULT
=SUMMENPRODUKT((B$1:L$1=Ressourcen!D$2: D$12)*(B2:L2="x")*Ressourcen!E$2:E$12)
Ergibt auch 12

Wie du Excel dazu bekommst dir automatisch die Formeln einzufügen/runter zu kopieren hab ich Antworten im Netz gefunden (Auf Englisch), und die meisten verweisen darauf, dass du den Bereich als "Tabelle" deklarieren musst
Bin mir da aber nicht so sicher.
Klar, mit VBA ist es einfach (Stichwort SelectionChange-Ereignis), aber wer arbeitet mit der Tabelle? Nur du?
Es ist immer eine heikle Sache, Makros im Business-Bereich zu aktivieren
Moin Zvoni, das mit dem Leerzeichen ist mir nicht aufgefallen bzw scheint nach der Eingabe zu verschwinden. Abgesehen davon war ich offensichtlich auch eine Zeile zu tief.
Die Formel ohne MMULT habe ich gerade ausprobiert - funktioniert!
Vielen Dank für den Hinweis :)
 

Neue Beiträge

Zurück