SteveNguyen1991
Thành viên chính thức
- Tham gia
- 22/8/20
- Bài viết
- 82
- Được thích
- 33
Chào các bác,
em đang tạo Pivottable bằng VBA. Em có 2 workbook. trong Workbook("CHECK") có nút nhấn Copy, khi nhấn vào thì sẽ copy dữ liệu từ Workbook("ERP") qua Workbook("CHECK").Sheets("ERP") rồi tạo 1 PivotTable trong Sheets("ERP").
LỖI: khi em bấm nút nhấn Copy thì bị lỗi nhưng hình 17 bên dưới.
em bấm vào End rồi bấm tiếp nút nhấn Copy lần 2 thì ra kết quả như mong muốn.
bác nào giải thích giúp em với!!
em đang tạo Pivottable bằng VBA. Em có 2 workbook. trong Workbook("CHECK") có nút nhấn Copy, khi nhấn vào thì sẽ copy dữ liệu từ Workbook("ERP") qua Workbook("CHECK").Sheets("ERP") rồi tạo 1 PivotTable trong Sheets("ERP").
Mã:
Sub Copy_Data()
Application.ScreenUpdating = False
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim NAME As String
Workbooks.Open Filename:=ThisWorkbook.Path & "\ERP"
Set WS1 = ActiveWorkbook.Sheets(1)
Set WS2 = ThisWorkbook.Sheets(2)
Dim LastRow2 As Double
LastRow2 = Excel.WorksheetFunction.CountA(WS2.Range("B:B"))
NAME = ActiveWorkbook.NAME
WS1.Range("D:D").Copy WS2.Range("B:B")
WS1.Range("F:F").Copy WS2.Range("C:C")
WS2.Range("B1") = "Items on ERP"
WS2.Range("C1") = "QTY on ERP"
Workbooks(NAME).Close SAVECHANGES:=False
WS2.Range("C2").WrapText = False
WS2.Range("B:B,C:C").EntireColumn.AutoFit
'' MAKE PIVOTTABLE
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
WS2.Range("B2:C" & LastRow2), Version:=6).CreatePivotTable _
TableDestination:=WS2.Range("E2"), TableName:="ERP_INK", defaultVersion:=6
WS2.Activate
' Give a name of Collumn1
With ActiveSheet.PivotTables("ERP_INK").PivotFields("Item No.")
.Orientation = xlRowField
.Position = 1
End With
' Give a name of collumn2
ActiveSheet.PivotTables("ERP_INK").AddDataField ActiveSheet.PivotTables("ERP_INK").PivotFields("Qty. (Calculated)"), "Sum of QTY", xlSum
Application.ScreenUpdating = True
End Sub
em bấm vào End rồi bấm tiếp nút nhấn Copy lần 2 thì ra kết quả như mong muốn.
bác nào giải thích giúp em với!!