2017-04-10 7 views
-3

Ich möchte diese Transformation haben, in vbaverwandeln Vertikale Informationen in horizontale

enter image description here

Und besser inderstend i shere mit Ihnen dieses Bild enter image description here

Jetzt habe ich eine weitere Spalte und ich Haben Sie diese Informationen in der neuen Tabelle, aber ich finde nicht, um das zu machen? enter image description here

+1

Verwenden 'SUMIFS' haben Sie alles versucht, so weit, sind Sie in VBA wollen, wenn ja Codeshare? –

+2

Zeichnen Sie ein Makro auf, das eine Pivot-Tabelle erstellt. – xQbert

+1

Warum ist prix nur 18 für client3? sollte es nicht 22 sein? – xQbert

Antwort

1

Alles, was ich getan habe, war die Einrichtung Ihrer Beispieldaten und dann ein Makro aufzeichnen und gespeicherte Makro unten gespeichert.

Jetzt beachten Sie: Wenn Ihre Daten größer sind, dann möchten Sie vielleicht mit Tastenanschlägen den Cursor am Anfang der Tabelle und dann am Ende der Tabelle oder "Daten als Tabelle definieren" setzen und die Tabelle verwenden. .. aber das gibt Ihnen die allgemeine Idee.

Sub Macro1() 
' Macro1 Macro 

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
     "Sheet1!R1C1:R10C4", Version:=xlPivotTableVersion14).CreatePivotTable _ 
     TableDestination:="Sheet1!R13C1", TableName:="PivotTable1", DefaultVersion _ 
     :=xlPivotTableVersion14 
    Sheets("Sheet1").Select 
    Cells(13, 1).Select 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Customer ") 
     .Orientation = xlRowField 
     .Position = 1 
    End With 
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable1").PivotFields("Group"), "Sum of Group", xlSum 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Price") 
     .Orientation = xlColumnField 
     .Position = 1 
    End With 
    Columns("C:C").ColumnWidth = 5.71 
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Price").Subtotals = Array(_ 
     False, True, False, False, False, False, False, False, False, False, False, False) 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of Group") 
     .Orientation = xlColumnField 
     .Position = 2 
    End With 
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
     "PivotTable1").PivotFields("Price"), "Sum of Price", xlSum 
    Range("E14").Select 
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of Price").Caption = _ 
     "Prix" 
    Range("B18").Select 
    ActiveSheet.PivotTables("PivotTable1").RowGrand = False 
End Sub 

die dann in Ergebnisse:

enter image description here

die neue Spalte zu handhaben: ID kombinieren, um die Werte in den Rohdaten. Wenn Sie jedoch etwas anderes suchen, müsste ich ein Beispiel für die gewünschte Ausgabe sehen.

enter image description here

+0

Jetzt habe ich eine andere Spalte, und ich sollte diese Informationen in der neuen Tabelle haben, aber ich finde nicht Haw, dies zu machen? [link] (https://i.stack.imgur.com/wSytu.png) – Emna

+0

Wiederholen Sie die obigen Schritte, um eine Pivot-Tabelle zu erstellen. Hinzufügen der zusätzlichen Spalte als Zeilenlabel – xQbert

+0

Ich habe versucht, aber ich habe nicht das gute Ergebnis, Ich habe diese [Tabelle] https://i.stack.imgur.com/LQRQL.png – Emna

Verwandte Themen