Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Pivot

Problem mit Pivot
29.11.2007 16:36:00
Ryu_Hoshi
Guten Abend.
Ich habe eine Frage zu Pivot. Ich bin momentan am verzweifeln: ich habe eine Pivot Tabelle mit Ausschuss unterschieden nach verschiedenen Produktspezifikationen z.B. Spalte A Beschichtung, B Produktname usw. Ich möchte in einer Spalte ausrechnen wie hoch die Auschussrate in % ist und mich dabei auf die prouzierte Anzahl der jeweiligen Beschichtung in dem ausgewählten Monat beziehen. Ich habe Felder wo ich mit SVERWEIS die produzierte Anzahl im gewählten Monat anzeigen lasse.
Die Schwierigkeit ist nun wie beziehe ich mich auf die Beschichtung in der Pivot (Spalte A). Dieser Berech ist ja dynaimisch und unterschiedlich gross je nach Monat. Ich kann natürlich schreiben =wenn(ZelleX = "BeschichtungA";Anzahl_Auschuss/produzierte_Stückzahl_BeschichtungA;"") aber dies klappt nur in der ersten Zeile weil dort der Name der Beschichtung aufgeführt wird aber die restlichen sind leer.
Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt. Ich bin für jeglcihe Tipps und Ideen dankbar.

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Pivot
29.11.2007 18:32:00
Ryu_Hoshi
Ich habe versucht das Problem zu umgehen indem ich Namen definiere aber habe dann das Problem, dass zum die Zellen wo etwas zusammengefasst wird (*Ergebnis) fehlen und zum anderen bekomme ich seltsamerweise einen #WERT Fehler in der Zelle wo der %-Auschuss berechnet werden soll.
Dies ist die Formel der Zelle =WENN(D7=HARD_Beschichtung1; D7/$D$3;""). D7 ist die Anzahl Ausschuss und D3 die Anzahl der produzierten Stück.
Und hier noch der Code für Bereichsnamen

Sub Bereiche_benennen()
Dim Beschichtung1 As Range
Dim Beschichtung2 As Range
Dim Beschichtung3 As Range
Set Beschichtung1 = ActiveSheet.PivotTables("PivotTable1").PivotFields("Beschichtung"). _
PivotItems( _
"HARD-Beschichtung1").DataRange
Set Beschichtung2 = ActiveSheet.PivotTables("PivotTable1").PivotFields("Beschichtung"). _
PivotItems( _
"HARD-Beschichtung2").DataRange
Set Beschichtung3 = ActiveSheet.PivotTables("PivotTable1").PivotFields("Beschichtung"). _
PivotItems( _
"HARD-Beschichtung3").DataRange
Worksheets("Pivot 9 AR Coat").Activate
ActiveWorkbook.Names.Add Name:="HARD_Beschichtung1", RefersTo:=Beschichtung1
ActiveWorkbook.Names.Add Name:="HARD_Beschichtung2", RefersTo:=Beschichtung2
ActiveWorkbook.Names.Add Name:="HARD_Beschichtung3", RefersTo:=Beschichtung3
End Sub


Anzeige
AW: Problem mit Pivot
30.11.2007 12:22:00
Ryu_Hoshi
Ich habe entdeckt dass das Problem mit dem #Wert daher kommt dass der Name sich nicht auf einen zusammenhängenden Bereich bezieht sondern auf mehrere (da Excel die Ergebnis Zeilen nicht dazuzählt).
Das Problem ließe sich lösen wenn man daraus einen zusammenhängenden Bereich macht.
Hier ein Beispiel für den Bereich eines Names: ='Pivot 9'!$D$7:$D$12;'Pivot 9'!$D$14:$D$17;'Pivot 9'!$D$19:$D$21;'Pivot 9'!$D$23;'Pivot 9'!$D$25
Könnte jemand mir bitte helfen einen VBA Code zu schreiben der daraus einen zusammenhängenden Bereich (also nur den ersten und letzten Wert) zu schreiben?
='Pivot 9'!$D$7:$D$25 So müsste dies aussehen.
Danke im voraus
Gruss

Anzeige
AW: Problem mit Pivot
01.12.2007 20:30:00
Daniel
Hi
mit diesem Code kannst du einen Namen, der aus mehreren Zellbereichen besteht, so erweitern, daß es nur noch 1 Zellbereich ist:

Sub namen_zusammenfügen()
Dim strName As String
Dim Zelle1 As Range
Dim Zelle2 As Range
strName = "Test" 'hier den Namen des NANENs eintragen
Set Zelle1 = Range(strName).Areas(1).Cells(1)
Set Zelle2 = Range(strName).Areas(Range(strName).Areas.Count)
Set Zelle2 = Zelle2(Zelle2.Cells.Count)
Application.Names.Add strName, RefersTo:=Range(Zelle1, Zelle2)
End Sub


Gruß, Daniel
PS. ob das Makro den richtigen Zellbereich ermittelt, hängt damit zusammen, ob die einzelnen Zellbereich in der richtigen Reihenfolge der Namensdefinition stehen, der "kleinste" ganz links und der "grösste" ganz rechts.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige