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

Forumthread: Wie Bereich variabler Größe definieren/benennen?

Wie Bereich variabler Größe definieren/benennen?
Volker
Hallo zusammen,
ich benötige einen Tip, wie ein Bereich, dem ich einen Namen zuweisen will, variabel festgelegt werden kann.
Ich will eine Pivot-Tabelle auf "Sheet_2" erzeugen, deren Rohdaten ich über einem Bereich "PivotBereich" auf "Sheet_1" definiere, was klappt:
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= "Sheet_1!PivotBereich")
.CreatePivotTable TableDestination:="'Sheet_2'!R3C1", TableName:="PivotTable2", DefaultVersion:=xlPivotTableVersion10
End With

Probleme bereitet mir die Festlegung des Bereichs, denn die Größe des Bereichs soll variabel sein.
Es stehen die Werte "MaxZeile" und "MaxSpalte" zur Verfügung, der Bereich, dem ich den Namen "PivotBasis" geben möchte, ist also R1C1:R[MaxZeile]C[MaxSpalte].
Einen festen Bereich kann ich z.B. wie folgt mit Namen versehen:
ActiveWorkbook.Names.Add Name:="PivotBereich", RefersToR1C1:="='2_Gruppenmitgliedschaften_kons'!R1C1:R33C33"
ActiveWorkbook.Names("PivotBereich").Comment = ""

Wie schaffe ich es, dass da, wo die absolute Angabe "R1C1:R33C33" steht, eine variable Angabe mit MaxZeile und MaxSpalte steht, so dass die Grösse des Bereichs von MaxZeile und MaxSpalte gesteuert wird?
Danke vorab für jeden Tip,
Volker
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wie Bereich variabler Größe definieren/benennen?
09.06.2010 16:09:53
IngGi
Hallo Volker,
ungetestet:
ActiveWorkbook.Names.Add Name:="PivotBereich", _
RefersToR1C1:="='2_Gruppenmitgliedschaften_kons'!R1C1:R" & MaxZeile & "C" & MaxSpalte

Gruß Ingolf
AW: Wie Bereich variabler Größe definieren/benennen?
10.06.2010 00:11:35
Uduuh
Hallo,
ohne Names.Add und MaxZeile/ MaxSpalte:
Sheets("2_Gruppenmitgliedschaften_kons").Cells(1, 1).CurrentRegion.Name = "Pivotbereich"
Gruß aus’m Pott
Udo

Anzeige
AW: Wie Bereich variabler Größe definieren/benennen?
10.06.2010 18:08:43
Volker
Hallo und Danke!
Herausgekommen ist:
'***** Bereich für Pivot definieren *****
ActiveWorkbook.Names.Add Name:="PivotBereich", RefersToR1C1:="='2_Basisdaten'!R1C1:R" & MaxZeile & "C" & MaxSpalte
ActiveWorkbook.Names("PivotBereich").Comment = ""
'***** Roh-Pivot auf Mappe Roh-Pivot erzeugen ***
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= "2_Basisdaten!PivotBereich")
.CreatePivotTable TableDestination:="'3_Gruppen-Pivot'!R3C1", TableName:="PivotTable2", DefaultVersion:=xlPivotTableVersion10
End With
Was passiert?
Der Name für den Bereich wird sauber definiert (Danke, IngGi!), aber es gibt dann einen Laufzeitfehler 1004 in .CreatePivotTable.
Wenn ich den Bereich manuell erzeuge, kommt kein Laufzeitfehler!
Ich haben dann folgendes versucht:
'***** Roh-Pivot auf Mappe Roh-Pivot erzeugen ***
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"2_Basisdaten!R1C1:R" & MaxZeile & "C" & MaxSpalte)
.CreatePivotTable TableDestination:="'3_Gruppen-Pivot'!R3C1", TableName:="PivotTable2", DefaultVersion:=xlPivotTableVersion10
End With
... und es hat geklappt!
;-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige