[Giúp] VBA Pivort colum (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

robinhsoon

Thành viên hoạt động
Tham gia
19/1/16
Bài viết
153
Được thích
11
Chào cả nhà GPEX!
Tình hình là em muốn làm tự động Pivort cột "Key" và count các cột lại... Mặc định của Excel đã có chức năng Pivort nhưng khi em Record Macro và lấy code chạy lại, thì lại không được...

Hiện tại em có 1 file data bao gồm 02 sheet Data và Summary, em muốn Pivort cột "Key" và Count cột Key + cột last 6 months lại qua sheet Summary.... Trong file em có làm mẫu bên sheet Summary..

Mong cả nhà giúp đỡ ạ.!
 

File đính kèm

Sau khi Record Macro bạn phải sửa lại những chỗ cần sửa thì mới chạy được.
Mã:
Sub Macro1()
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Data!R1C1:R26C23", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:=ActiveSheet.Name & "!R1C1", TableName:="PivotTable1", DefaultVersion _
        :=xlPivotTableVersion12
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("Key"), "Count of Key", xlCount
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("last 6 months"), "Count of last 6 months", xlCount
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Key")
        .Orientation = xlRowField
        .Position = 1
    End With
End Sub
 
Upvote 0
Sau khi Record Macro bạn phải sửa lại những chỗ cần sửa thì mới chạy được.
Mã:
Sub Macro1()
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Data!R1C1:R26C23", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:=ActiveSheet.Name & "!R1C1", TableName:="PivotTable1", DefaultVersion _
        :=xlPivotTableVersion12
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("Key"), "Count of Key", xlCount
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("last 6 months"), "Count of last 6 months", xlCount
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Key")
        .Orientation = xlRowField
        .Position = 1
    End With
End Sub
Chào Thầy!
Cảm ơn Thầy đã giúp đỡ ạ... cho em hỏi đoạn code trên nó sẽ add thêm 1 sheet nữa hả Thầy? Nếu em muốn nó tự nhảy sang Sheet Summary và sẽ tự bỏ công thức Pivort thì em sửa sao ạ..
 
Upvote 0
Sau khi Record Macro bạn phải sửa lại những chỗ cần sửa thì mới chạy được.
Mã:
Sub Macro1()
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Data!R1C1:R26C23", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:=ActiveSheet.Name & "!R1C1", TableName:="PivotTable1", DefaultVersion _
        :=xlPivotTableVersion12
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("Key"), "Count of Key", xlCount
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("last 6 months"), "Count of last 6 months", xlCount
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Key")
        .Orientation = xlRowField
        .Position = 1
    End With
End Sub
Em làm được rồi ạ... Cảm ơn Thầy nhiều nhé :D
Chúc Thầy sức khỏe và thành công ạ
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom