PDA

Vollständige Version anzeigen : Pivot-Tabelle ausfüllen


naro
05.09.2003, 12:30
Hallo alle zusammen !

Irgendwie stehe ich gerade auf dem Schlauch oder bin einfach zu blöd....
Und die Suchen-Funktion hat mich diesmal leider auch nicht weiter gebracht.

Also, folgendes Problem:

Ich habe in Excel eine Pivot-Tabelle erstellt, diese nach meinen Wünschen formatiert und anschließend mit kopieren -> Inhalte einfügen, nur Werte fertiggestellt.
Jetzt sieht sie in etwa folgendermaßen aus:
.Nr.___ Bezeichnung_ TGR
.1_____A__________10
. ________________ 20
.2_____B__________15
._________________10
.3_____C__________30

Ich hätte gerne, dass in der ersten und zweiten Spalte die leeren Zellen mit den jeweiligen Werten ausgefüllt werden und die Tabelle anschließend so aussieht:
.Nr.____Bezeichnung_ TGR
.1_____A __________10
.1_____A __________20
.2_____B __________15
.2_____B __________10
.3_____C __________30

Da dies alles in einem Makro untergebracht ist, fällt das Ausfüllen per Hand untern Tisch.

Ich hoffe, ich habe mein Problem einigermaßen verständlich erklären können. Weiß jemand eine Lösung ?

Vielen Dank schon mal.

jinx
05.09.2003, 17:31
<font size="2" face="Century Gothic">Moin, naro,

dann solltest Du ggf. noch einmal den relevanten Bereich ermitteln (erste Zeile dürfte bekannt sein, letzte kann per intLastrow aus Ask Dr.MOF ermittelt werden) - alternativ CurrentRegion oder UsedRange.
Eine Schleife von erster bis letzter Zeile, wenn in Spalte A Zeile x kein Wert, Übernahme Wert aus vorhergehender Zeile, dto. für Spalte B...</font>

naro
08.09.2003, 08:19
Hallo Jinx,

vielen Dank für Deine Antwort. Ist ja wirklich ganz einfach, irgendwie war ich da gerade nicht so ganz fit. Ich habe unten nochmal meinen Code mit eingefügt, für den Fall, dass jemand den Beitrag liest und auch gern eine Lösung hätte, aber Programmieranfänger ist. Ich hoffe, das ist in Deinem Interesse.

Dim z As Integer, i As Integer

z = Cells(Rows.Count, 5).End(xlUp).Row
For i = 3 To z
For s = 1 To 4
If IsEmpty(Cells(i, s)) Then Cells(i, s) = Cells(i - 1, s)
Next
Next

Die Daten der Pivot-Tabelle beginnen in der dritten Zeile, die ersten vier Spalten müssen ausgefüllt werden.

Danke !