Sumif(indirect mit variablem Tabellename
15.11.2007 17:24:19
Guillaume
ich habe von dem Forum den Formel mit Summe(summewenn(indirekt({.... kopiert, versuche dies in VBA umzusetzen und leider schaffe ich es nicht die Blättername durch Variable zu ändern.
Wer kann mir helfen bitte?
Als Besipiel:
In der Tabelle 1 will ich die Zellen c3:c4 von den Blättern "Blatt1" und "Blatt2" addieren, vorausgesetzt dass diese Zellen B3:B4 eine bestimmte Referenz (in diesem Fall "30010") enthalten.
In Excel sieht der Formel so aus:
=SUMME(SUMMEWENN(INDIREKT({"Blatt1"."Blatt2"}&"!b$3:b$4");30010; INDIREKT({"Blatt1"."Blatt2"}&"!c3:c4")))
Es funktioniert in Excel fein, in VBA sieht es so aus:
Range("b3").Select
ActiveCell.Formula = _
"=SUM(SUMIF(INDIRECT({""Blatt1"" " _
& ",""Blatt2""}&""!b$3:b$4"")," _
& Range("a3") & ",INDIRECT({""Blatt1"",""Blatt2""}&""!c3:c4"")))"
Da funktioniert es auch fein. Aber ich möchte den Formel umschreiben, so dass ich "Blatt1" durch einen Namen ersetzt sein kann (es werden mehreren Blätter addiert, abhängig von Endusern und der Formel soll diese neue Blätter auch addieren, deswegen frage ich vorher Excel, alle Blätter zu identifizieren).
Wenn ich vorher z.B. festlege Bp1 = "Blatt1", gelingt es mir nicht, diese Bp1 in dem Formel zu übernehmen.
Ich hoffe, daß meine Beschreibung einigermaße verständlich war :-)
MfG
Guillaume