Nhờ các bạn viết cho cái Code tự động sao chép dữ liệu

  • Thread starter Thread starter khamha
  • Ngày gửi Ngày gửi
Liên hệ QC

khamha

Không có việc gì khó...
Tham gia
4/6/10
Bài viết
662
Được thích
846
Nghề nghiệp
CNVC Laos
Trong bảng tính của mình gồm có 5 Sheet là:Sheet"TongHop",A,B,C và D.
mình muốn khi ta nhập dữ liệu vào cột C trong Sheet"TongHop" là A thì tất
cả dữ liệu trong hàng đó sẽ tự động sao chép sang Sheet"A",nếu nhập vào
là B thì sẽ sao chép vào Sheet"B",tương tự như vậy với Sheet còn lại.
nếu dữ liệu trong Sheet"TongHop" thay đổi thì dữ liệu trong các Sheet kia
cũng thay đổi.
số thứ tự của các Sheet"A","B","C" và "D" sẽ tự động điền theo thứ tự 1,2...
Cảm ơn các bạn.
 

File đính kèm

Thử tham khảo code này:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&, j&, R&, D&
Dim Sh As Worksheet, Ws As Worksheet
Set Sh = Sheets("2024")
If Not Intersect(Target, Range("B3:B10000")) Is Nothing Then
    R = Target.Row
    Set Ws = Sheets("KetQua")
        D = Ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
        Ws.Cells(D, 1) = Sh.Cells(R, 3)
        Ws.Cells(D, 5) = Sh.Cells(R, 5)
        Ws.Cells(D, 8) = Sh.Cells(R, 8)
        Ws.Cells(D, 9) = Sh.Cells(R, 9)
        Ws.Cells(D, 15) = Sh.Cells(R, 25)
        Ws.Cells(D, 16) = Sh.Cells(R, 33)
        Ws.Cells(D, 17) = Sh.Cells(R, 34)
End If
End Sub
Xem file
Trong cột B /Sh 2024 bạn thử gõ vao đó 1 ký tự bất kỳ và enter====> sang sheet KetQua để kiểm tra( ở dòng cuối cùng).
cảm ơn bạn rất nhiều ạ.
 
Upvote 0
cảm ơn bạn rất nhiều ạ.
Bạn có lẽ chưa hình dung ra hết các tình huống có thể xảy ra.
đó là cứ mỗi khi bạn kích hoạt 1 ô trong cột B (sửa ô hoặc Enter) thì code sẽ chạy, nhưng nếu dòng dữ liệu của Dải ô đang active đó đã được nhập vào sh KetQua rồi, thì lần kích hoạt này sẽ thêm 1 lần nhập nữa tức là sẽ nhập trùng vào dòng cuối. Để khắc phục tình trạng nhập trùng này bạn phải cung cấp cho nó 1 mã duy nhất. khi code chạy nó sẽ kiểm tra bên Sheet KetQua xem mã duy nhất này đã nhập chưa? nếu chưa nhập thì code chạy tiếp (nhập) , nếu đã có thì hỏi bạn có muốn nhập lại không? nếu trả lời Yes==> nhập đè lên dữ liệu cũ, nếu trả lời No, bỏ qua (thoát khỏi sub)>
Tôi tin là bạn tự làm được.
Chúc thành công.
 
Upvote 0
Web KT

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

Back
Top Bottom