2017-04-10 93 views
-3

我想有這種轉變在VBA變換垂直信息爲水平

enter image description here

並以inderstend更好,我希爾與你這幅畫 enter image description here

現在我有另一列,我應該在新表中有這個信息,但我不覺得haw能做到這一點? enter image description here

+1

使用'SUMIFS'你嘗試過什麼到目前爲止,你想在VBA中,如果是共享代碼? –

+2

記錄創建數據透視表的宏。 – xQbert

+1

爲什麼客戶端3的prix只有18個?不應該是22嗎? – xQbert

回答

1

我所做的只是設置了您的示例數據,然後錄製一個宏並保存下面生成的記錄宏。

現在請注意:如果您的數據較大,您可能需要使用擊鍵將光標放在表格的開頭,然後放在表格的末尾或「將數據定義爲表格」並使用表格。 ..但是這給了你一般的想法。

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 

然後導致:

enter image description here

來處理新列:身份證原始數據相結合的值。如果不過你是在追求不同的東西,我需要看到所需輸出的例子。

enter image description here

+0

現在我有另一列,我應該在新表中的這個信息,但我不覺得haw做出這個? [鏈接](https://i.stack.imgur.com/wSytU.png) – Emna

+0

重複上述步驟以創建數據透視表。添加額外的列作爲行標籤 – xQbert

+0

我試過,但我沒有很好的結果, 我有這個[表] https://i.stack.imgur.com/LQRQL.png – Emna