[Help] Copy dữ liệu vào Pivottable

Liên hệ QC

tkhieu

Thành viên chính thức
Tham gia
13/9/13
Bài viết
59
Được thích
5
Nhờ mọi người giúp mình đoạn code để copy dữ liệu từ sheet copy vào dòng cuối cùng của pivottable ở sheet chốt tiền (ÁP dụng cho mỗi lần refresh dữ liệu).
Cám ơn mọi người.
 

File đính kèm

  • Test.xlsm
    83.3 KB · Đọc: 17
alo không có ai ạ
 
Mình thử thế này mà không được

Sub Copy ()
Dim ws As Worksheet
Dim lastRow As Integer

Set ws = ActiveSheet

'find last row of column
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1


Sheet6.Range("A1:E7").Copy
Sheet3.Range("A & lastRow").PasteSpecial Paste:=xlPasteFormulas

End Sub
 
Mình thử thế này mà không được

Sub Copy ()
Dim ws As Worksheet
Dim lastRow As Integer

Set ws = ActiveSheet

'find last row of column
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1


Sheet6.Range("A1:E7").Copy
Sheet3.Range("A & lastRow").PasteSpecial Paste:=xlPasteFormulas

End Sub
không chạy được code bạn ơi :D
 
Mình thử thế này mà không được

Sub Copy ()
...
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
...
Sheet6.Range("A1:E7").Copy
Sheet3.Range("A & lastRow").PasteSpecial Paste:=xlPasteFormulas
End Sub
1. Lỗi:
- Tên thủ tục copy trùng với từ khoá, không cho chạy
- "A" & LastRow mới đúng
2. Tên biến
LastRow là dòng cuối, cộng 1 thì nên là NextRow
3. Gợi ý
-
Paste special formula có ý nghĩa gì đâu khi vùng copy chỉ có giá trị thuần
- Nên copy destination như sau:

Mã:
Sheet6.Range("A1:E7").Copy ws.Range("A" & NextRow)
 
1. Lỗi:
- Tên thủ tục copy trùng với từ khoá, không cho chạy
- "A" & LastRow mới đúng
2. Tên biến
LastRow là dòng cuối, cộng 1 thì nên là NextRow
3. Gợi ý
-
Paste special formula có ý nghĩa gì đâu khi vùng copy chỉ có giá trị thuần
- Nên copy destination như sau:

Mã:
Sheet6.Range("A1:E7").Copy ws.Range("A" & NextRow)
Bạn giúp mình đoạn code hoàn chỉnh được không. Mình copy vào mà nó báo lỗi debug :D
 
Bạn giúp mình đoạn code hoàn chỉnh được không. Mình copy vào mà nó báo lỗi debug :D
Sub ABC ()
Dim ws As Worksheet
Dim lastRow As Integer

Set ws = ActiveSheet

'find last row of column
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
Sheet6.Range("A1:E7").Copy ws.Range("A" & lastRow)
End Sub
Đoán là thế này
 
Sub ABC ()
Dim ws As Worksheet
Dim lastRow As Integer

Set ws = ActiveSheet

'find last row of column
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
Sheet6.Range("A1:E7").Copy ws.Range("A" & lastRow)
End Sub
Đoán là thế này
Mỗi lần mình refresh pivot thì nó không copy vào dòng cuối của bảng dữ liệu pivot :D
 
Mình có đính kèm file ở dưới mà :D
Mình online bằng điện thoại. Nên không coi file được. Nhưng thấy bạn nói. Thử nghĩ theo cách bạn xác định dòng cuối cùng trong pivotable. Xoá lui xuống 7 dòng sau đó thực hiện việc copy lại. Để sub ở sự kiện change coi
 
Mình online bằng điện thoại. Nên không coi file được. Nhưng thấy bạn nói. Thử nghĩ theo cách bạn xác định dòng cuối cùng trong pivotable. Xoá lui xuống 7 dòng sau đó thực hiện việc copy lại. Để sub ở sự kiện change coi
Ok cám ơn bạn, mình sẽ thử xem. Tiện đây mình có thêm câu hỏi nhờ mọi người giúp: mình có bảng dữ liệu với cột A là Nội dung gồm 3 loại X, Y, Z tương ứng với Cột B là số lượng lần lượt là 1, 2, 3. Làm thế nào để mình tạo được bảng pivot với nội dung là X+Y, Z tương ứng với số lượng 3, 3.
 
Web KT
Back
Top Bottom