Copy cột dữ liệu sang sheets khác và dán vào cột dữ liệu trống tiếp theo (1 người xem)

Liên hệ QC

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

210914101

Thành viên mới
Tham gia
27/9/12
Bài viết
28
Được thích
3
Chào cả nhà.

Mình có một khó khăn nhờ cả nhà giúp đỡ với.
Mình có một mảng dữ liệu từ ô D2 đến D216 trong sheet1.
Mình muốn copy và dán mất công thức này vào một sheet2 có cùng kích cỡ và địa chỉ ô, nhưng được dán vào cột dữ liệu trống tiếp theo.
VD: Sheet2 cần dán qua có cột D1 đến D216 đã có dữ liệu thì dán tiếp vào cột E2 đến E216. Và cứ tiếp tục copy dán như vậy khi mình bấm nút dán mình tạo.
Mọi người có thể cho mình một đoạn Code với được không.
Mong mọi người giúp đỡ mình với.
Mình cảm ơn nhiều ạ!
 
@@@ 210914101 :
Trong yêu cầu bạn chưa nói rõ 2 điểm :
1. Khi copy giữ nguyên công thức hay thay đổi theo địa chỉ ô bạn sẽ copy đến, vì nếu công thức của bạn để địa chỉ tương đối khi copy qua sheet khác địa chỉ có thể thay đổi.
2. Dữ liệu nguồn cần copy luôn luôn là vùng D2 : D216 trong sheet1 và dán qua sheet2 thì nối vào dữ liệu trống à?
Cái này tôi viết cho vui thôi, bạn thấy hữu ích thì dùng.
Mã:
Sub CopyAPaste()
    Sheets("Sheet1").Range("D2:D216").Copy
    Sheets("Sheet2").[XFD2].End(xlToLeft).Offset(, 1).PasteSpecial Paste:=xlPasteFormulas
    Application.CutCopyMode = False
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cảm ơn bạn hoamattroicoi nhiều nghe!
Mình muốn copy vùng đó qua và dán PasteSpecial không còn công thức nữa.
Đối với vùng dữ liệu thì cố định ở sheets 1 là D2 đến D216, dữ liệu nguồn là sheets 1 và sheets 2 là dữ liệu lưu.
Đầu tiên là copy dán vào cột D2 đến D216 của sheets 2 , Nếu D2 đến D216 đã có dữ liệu thì dán tiếp và cột C2 đến C216 và cứ tiếp tục như vậy.
Cảm ơn bạn nhiều.

Bài đã được tự động gộp:

1529715921628.png

Nó báo lỗi ở dòng màu vàng bạn hoamattroicoi ơi, xem giúp mình với được không. Cảm ơn bạn!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cảm ơn bạn hoamattroicoi nhiều nghe!
Mình muốn copy vùng đó qua và dán PasteSpecial không còn công thức nữa.
Đối với vùng dữ liệu thì cố định ở sheets 1 là D2 đến D216, dữ liệu nguồn là sheets 1 và sheets 2 là dữ liệu lưu.
Đầu tiên là copy dán vào cột D2 đến D216 của sheets 2 , Nếu D2 đến D216 đã có dữ liệu thì dán tiếp và cột C2 đến C216 và cứ tiếp tục như vậy.
Cảm ơn bạn nhiều.


View attachment 197995

Nó báo lỗi ở dòng màu vàng bạn hoamattroicoi ơi, xem giúp mình với được không. Cảm ơn bạn!
Gán tên sheet trật lất nên nó cự nự là phải rồi, chỗ Sheet4 sửa lại DuLieuNgay, thế này:

Sheets("DuLieuNgay").Range("D2: D216").Copy

Trong hình là Sheet4 mà bạn nêu "dữ liệu nguồn là sheets 1 và sheets 2 là dữ liệu lưu" là thế nào? Hình 1 đằng lại diễn giải 1 nẽo thì ai hiểu cho nổi.
 
Upvote 0
Hihi!
Ý là mình diễn đạt hai sheets đó mà.
Rồi bạn cho mình code mình sẽ sửa lại thứ tự sheets thôi.
Mình cứ nghĩ là thế đó mà.
Sheets dữ liệu nguồn đúng của mình là sheets 4. Sheets lưu là sheets 6.
Có gì sai giúp mình chút nữa nghe.
Cảm ơn bạn nhiều.

Bài đã được tự động gộp:

Mình đã làm được rồi. Tuy nhiên dán vào nó vẫn còn công thức, bạn cho mình cái dán mất công thức được không. Chỉ còn giá trị thôi.
Hihi!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình đã làm được rồi. Tuy nhiên dán vào nó vẫn còn công thức, bạn cho mình cái dán mất công thức được không. Chỉ còn giá trị thôi.
Public Sub GPE()

Const R As Long = 215

Dim Col As Long

Col = Sheet2.Range("XFD2").End(xlToLeft).Column + 1

Sheet2.Cells(2, Col).Resize(R).Value = Sheet1.Range("D2").Resize(R).Value

End Sub
 
Upvote 0
Hihi!
Ý là mình diễn đạt hai sheets đó mà.
Rồi bạn cho mình code mình sẽ sửa lại thứ tự sheets thôi.
Mình cứ nghĩ là thế đó mà.
Sheets dữ liệu nguồn đúng của mình là sheets 4. Sheets lưu là sheets 6.
Có gì sai giúp mình chút nữa nghe.
Cảm ơn bạn nhiều.

Bài đã được tự động gộp:

Mình đã làm được rồi. Tuy nhiên dán vào nó vẫn còn công thức, bạn cho mình cái dán mất công thức được không. Chỉ còn giá trị thôi.
Hihi!
Theo code bài 2 thì thế này mới đúng.
Mã:
Sub CopyAPaste()
    Sheets("DuLieuNgay").Range("D2:D216").Copy
    Sheets("DuLieuThang").[XFD2].End(xlToLeft).Offset(, 1).PasteSpecial Paste:=xlPasteValues
End Sub

Hoặc Code trong File.
Mã:
Sub Copy_PasteTiep()
    Sheet4.Range("D2:D216").Copy
    Sheet6.[XFD2].End(xlToLeft).Offset(, 1).PasteSpecial Paste:=xlPasteValues
End Sub
 

File đính kèm

Upvote 0
Các bạn đúng là cao thủ!
Cảm ơn các bạn nhiều.
Mình đã làm được rồi!
Diễn đàn thật ý nghĩa để học hỏi!
Good! Like
 
Upvote 0
Web KT

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

Back
Top Bottom