Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

VBA Code für Index-Summenprodukt Funktion


Betrifft: VBA Code für Index-Summenprodukt Funktion von: Frank
Geschrieben am: 27.04.2017 12:54:59

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

  

Betrifft: Probiere es mal... von: Case
Geschrieben am: 27.04.2017 13:10:11

Hallo Frank, :-)

... so der Spur nach: ;-)

Deine Datei zurück...

Servus
Case



  

Betrifft: AW: Probiere es mal... von: Frank
Geschrieben am: 27.04.2017 15:00:35

Super, Case, danke!
Da bin ich wohl mit den "" und einer Klammer durcheinander gekommen.

Gruß Frank


Beiträge aus den Excel-Beispielen zum Thema "VBA Code für Index-Summenprodukt Funktion"