Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sumif(indirect mit variablem Tabellename

Sumif(indirect mit variablem Tabellename
15.11.2007 17:24:19
Guillaume
Hallo,
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

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sumif(indirect mit variablem Tabellename
17.11.2007 18:29:21
fcs
Hallo Guilaume,
der Code zum erzeugen der Formel mit Variablen für die Blattnamen schaut so aus:

Sub test()
Dim Blatt1 As String, Blatt2 As String
Range("b3").Select
Blatt1 = "Tabelle 2"
Blatt2 = "Tabelle 3"
ActiveCell.Formula = "=SUM(SUMIF(INDIRECT({""'" & Blatt1 & """ " _
& ",""'" & Blatt2 & """}&""'!b$3:b$4"")," _
& Range("a3") & ",INDIRECT({""'" & Blatt1 & """,""'" & Blatt2 & """}&""'!c3:c4"")))"
End Sub


Die zusätzlichen Kochkommata (') in der Formel sind erforderlich, damit Blattnamen mit Sonderzeichen (z.B. Leerzeichen) korrekt verarbeitet werden.
Gruß
Franz

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige