Nhờ giúp đỡ code chèn dữ liệu vào giữa 2 bảng dữ liệu có sẵn

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tranthuy28190

Thành viên mới
Tham gia
13/10/22
Bài viết
26
Được thích
7
Em nhờ các cao thủ giúp em đoạn code có thể chèn được bảng dữ liệu vào giữa hai bảng dữ liệu có sẵn.
- Sheet 3: bảng dữ liệu cần copy từ B3 tới dòng cuối bảng dữ liệu
- Sheet 2: bảng dữ liệu từ sheet 3 được chèn vào giữa (đoạn em bôi vàng trong file "Kết quả mong đợi") - bảng dữ liệu này không cố định dòng đầu dòng cuối mà sẽ paste vào dòng sau dòng cuối của bảng dữ liệu 1 và dòng trước dòng đầu của bảng dữ liệu 2
Bình thường thì em tự viết được code update dữ liệu vào dòng cuối của bảng, tuy nhiên có 2 bảng này thì em gà mờ quá. Mong các cao thủ chỉ giáo ạ.
Em cảm ơn nhiều!
1687452503848.png
 

File đính kèm

  • Đầu bài.xlsm
    2.4 MB · Đọc: 7
  • Kết quả mong đợi.xlsm
    2.5 MB · Đọc: 10
Ghi macro việc Insert Copied Cells rồi dùng code đó để ghép vào "code update dữ liệu vào dòng cuối của bảng"
 
Upvote 0
Ghi macro việc Insert Copied Cells rồi dùng code đó để ghép vào "code update dữ liệu vào dòng cuối của bảng"
Dạ em có làm thử nhưng việc ghi macro insert thì trong đoạn code nó chỉ rõ là insert từ row nào. Tuy nhiên phần insert này nó chỉ insert vào đoạn trống giữa 2 bảng dữ liệu (bảng 1 sẽ cập nhật liên tục xuống nên không cố định được dòng cuối cùng).
Em cũng chưa biết tìm cách nào. Nhờ bác giúp được không ạ?
 
Upvote 0
Dạ em có làm thử nhưng việc ghi macro insert thì trong đoạn code nó chỉ rõ là insert từ row nào. Tuy nhiên phần insert này nó chỉ insert vào đoạn trống giữa 2 bảng dữ liệu (bảng 1 sẽ cập nhật liên tục xuống nên không cố định được dòng cuối cùng).
Em cũng chưa biết tìm cách nào. Nhờ bác giúp được không ạ?
Dòng trống là dòng
Range("C2").End(xlDown).Row + 1
 
Upvote 0
Em hơi rườm rà:
Đặt một từ khoá vào cột bất kỳ để nhận diện dòng bắt đầu của bảng 2(có sẵn thì dùng luôn cũng được), dùng lệnh hoặc hàm tìm kiếm trên cột đó sẽ ra được dòng cần chèn.
→ Chèn dữ liệu vào trên dòng vừa tìm.
 
Upvote 0
khoá vào cột bất kỳ để nhận diện dòng

Bạn không làm đúng thao tác khi ghi macro. Phải chọn lệnh Insert Copied Cells thì nó mới chèn thêm dòng rồi dán data.
Cảm ơn bác nhiêu ạ. Em đã làm thành công rồi ạ
Sub ghep_du_lieu()
Dim LR As Long
Dim lr1 As Long
LR = Sheet4.Cells(Rows.count, 42).End(xlUp).Row + 1
Sheet4.Range("B3:AP" & LR).Copy Sheet1.Range("B" & Rows.count).End(xlUp).Offset(1, 0)
lr1 = Sheet2.Range("B3").End(xlDown).Row + 1
Sheet4.Range("A3:AP" & LR).Copy
Sheet2.Range("A" & lr1).Insert Shift:=xlDown

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

Ý là chị muốn chèn GIỮA 2 bảng ạ.
đúng rồi bạn, t đã viết được rồi. Cảm ơn b nha
 
Upvote 0
Tôi nghĩ là đã hiểu đúng ý của chủ thớt: theo hình bài #1 là chèn ở dòng có ô màu đỏ.
xin lỗi bác cho em hỏi thêm 1 chút là: khi insert giá trị copy thì em muốn paste giá trị value và định dạng cũ (không gồm công thức) vào chỗ insert thì viết code nào được ạ?
 
Upvote 0
xin lỗi bác cho em hỏi thêm 1 chút là: khi insert giá trị copy thì em muốn paste giá trị value và định dạng cũ (không gồm công thức) vào chỗ insert thì viết code nào được ạ?
Bạn chèn dòng xong, copy rồi SpecialPaste xlValues, SpecialPaste xlFormat

Nếu chưa rành lệnh thì ghi macro
 
Upvote 0
Bạn chèn dòng xong, copy rồi SpecialPaste xlValues, SpecialPaste xlFormat

Nếu chưa rành lệnh thì ghi macro
Dạ vâng, em làm được rồi ạ :D cảm ơn bác đã hỗ trợ nhiệt tình


Sub ghep_du_lieu()
Dim LR As Long
Dim lr1 As Long
LR = Sheet4.Cells(Rows.count, 42).End(xlUp).Row
Sheet4.Range("B3:AP" & LR).Copy Sheet1.Range("B" & Rows.count).End(xlUp).Offset(1, 0)
lr1 = Sheet2.Range("B3").End(xlDown).Row + 1
Sheet4.Range("A3:AP" & LR).Copy
Sheet2.Range("A" & lr1).Insert Shift:=xlDown
Dim lr2 As Long
Dim lr3 As Long
lr2 = Sheet2.Range("B3").End(xlDown).Row
lr3 = Sheet1.Range("B3").End(xlDown).Row
Sheet2.Range("B3:AP" & lr2).Copy
Sheet2.Range("B3:AP" & lr2).PasteSpecial xlPasteValuesAndNumberFormats
Sheet1.Range("B3:AP" & lr3).Copy
Sheet1.Range("B3:AP" & lr3).PasteSpecial xlPasteValuesAndNumberFormats
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom