Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.06.2024 19:56:24
17.06.2024 19:39:46
Anzeige
Archiv - Navigation
1552to1556
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

VBA Code für Index-Summenprodukt Funktion

VBA Code für Index-Summenprodukt Funktion
27.04.2017 12:54:59
Frank
Hallo Experts,
das erste Mal, dass ich im Internet keine Beispiele finde, die mich zur Lösung meines Problems inspirieren. Dabei dürfte diese Aufgabenstellung nicht zu selten sein.
Vielleicht kann mir jemand auf die Sprünge helfen.
Ich habe eine Liste, in der der Qualifikationsstand eines Mitarbeiters (im Beispiel Personal-Nr. '12345') dokumentiert wird. Der Mitarbeiter ist an verschiedenen Arbeitsstationen (im Beispiel 'AA-Nr' = Arbeitsanweisungsnummer) geschult. Diese Arbeitsanweisungen haben einen Revisionsstand (Rev). Bei einem neuen Rev.-Stand muß der Mitarbeiter neu geschult werden, ansonsten nach einem vorgegebenen Requalifikationsintervall (z.B. alle 6 Monate). Der Tag der Schulung (Assessment) wird in Spalte Ass-Datum dokumentiert.
Die Beispiel-Datei ist nur ein Blatt aus einer Arbeitsmappe mit weiteren Blättern zur Verwaltung der Assessments.
Aufgabe: Finde in der Tabelle die Ergebnis-Punktzahl (Spalte F) für 3 Vorgabekriterien - 'AA-Nr.', 'Rev' und 'Ass-Datum
Die ensprechende Excel-Formel ist in Zelle Y8 abgelegt und funktioniert.
Jeder Mitarbeiter hat ein eigenes Blatt mit dessen Personal-Nummer als Blattnamen. Deshalb brauche ich diese Formel in VBA Code, da ich die Abfrage aus einem anderen Blatt heraus durchführen und die Indirekt Funktion vermeiden möchte.
Das ist meine Excel-Formel:
=INDEX(A3:V100;SUMMENPRODUKT((B3:B100=Y1)*(C3:C100=Y4)*(D3:D100=Y3)*ZEILE(D3:D100))-2;6)
und das mein Versuch für den VBA Code, welcher Fehlermeldungen bringt. ('PNR' ist eine Variable für den Blattnamen)
MsgBox Evaluate("=Index(" & PNR & "!A3:V100; SumProduct((" & PNR & "!B3:B100=" _
& PNR & "!Y20 & ")*(" & PNR & "!C3:C100=" & PNR & "!Z20 & ")*(" & PNR & "!D3:D100=" _
& PNR & "!AA20 & ")*(ROW(" & PNR & "!D3:D100)))-2;6)"

Gruß Frank
https://www.herber.de/bbs/user/113151.xlsx

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probiere es mal...
27.04.2017 15:00:35
Frank
Super, Case, danke!
Da bin ich wohl mit den "" und einer Klammer durcheinander gekommen.
Gruß Frank
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige