Tự động copy dữ liệu vào sheet và cảnh báo dữ liệu đã được copy

Liên hệ QC

tocxu90

Thành viên mới
Tham gia
24/3/18
Bài viết
11
Được thích
0
Em có 1 file excel. Trong sheet "IN PHIEU XAC NHAN" khi ấn vào hình "PHỄU" dữ liệu sẽ lọc như trong sheet.
Em mong muốn khi ấn vào nút "COPY" dữ liệu dưới cột tiêu đề sẽ được past value vào sheet "PC1" từ cột D đến cột O.

Trường hợp, ấn "COPY" liên tục với cùng 1 dữ liệu, làm dữ liệu được dán vào sheet "PC1" liên tục, trùng nhau thì 1 hộp thoại cảnh báo "DỮ LIỆU ĐÃ ĐƯỢC THÊM" xuất hiện ở sheet "IN PHIEU XAC NHAN", khi dữ liệu trùng ở sheet "PC1" được xóa thì mất cảnh báo.
Pass mở khóa file: 123
Xin lỗi về sự bất tiện, do e không biết cách tháo khóa file này.
Xin các a/c giúp đỡ, em xin cảm ơn!
 

File đính kèm

  • HỖ TRỢ_1.rar
    557.3 KB · Đọc: 31
Có mở được file đâu mà để xem chứ trời.
 
Em có 1 file excel. Trong sheet "IN PHIEU XAC NHAN" khi ấn vào hình "PHỄU" dữ liệu sẽ lọc như trong sheet.
Em mong muốn khi ấn vào nút "COPY" dữ liệu dưới cột tiêu đề sẽ được past value vào sheet "PC1" từ cột D đến cột O.

Trường hợp, ấn "COPY" liên tục với cùng 1 dữ liệu, làm dữ liệu được dán vào sheet "PC1" liên tục, trùng nhau thì 1 hộp thoại cảnh báo "DỮ LIỆU ĐÃ ĐƯỢC THÊM" xuất hiện ở sheet "IN PHIEU XAC NHAN", khi dữ liệu trùng ở sheet "PC1" được xóa thì mất cảnh báo.
Pass mở khóa file: 123
Xin lỗi về sự bất tiện, do e không biết cách tháo khóa file này.
Xin các a/c giúp đỡ, em xin cảm ơn!
Bỏ khóa như sau:
1531464780461.png
 
Tớ có mở được file đâu, chả hiểu nữa, cliip đúp vào thì excel nó chả hiện ra cái gì nữa, chứ nó đòi password thì đã đành.
 
Dạ, e đã tháo được pass rồi ạ! Em xin up lại file.
Bài đã được tự động gộp:

Tớ có mở được file đâu, chả hiểu nữa, cliip đúp vào thì excel nó chả hiện ra cái gì nữa, chứ nó đòi password thì đã đành.
Em đã tháo pass và up lại file rồi ạ. Anh xem giúp em nhé!
 
Em xin mọi người giúp đỡ ạ!
 
Lần chỉnh sửa cuối:
Hai dữ liệu thế nào thì được gọi là trùng nhau vậy bạn.
 
Xin mọi người giúp đỡ em!
 
Em có 1 file excel. Trong sheet "IN PHIEU XAC NHAN" khi ấn vào hình "PHỄU" dữ liệu sẽ lọc như trong sheet.
Em mong muốn khi ấn vào nút "COPY" dữ liệu dưới cột tiêu đề sẽ được past value vào sheet "PC1" từ cột D đến cột O.

Trường hợp, ấn "COPY" liên tục với cùng 1 dữ liệu, làm dữ liệu được dán vào sheet "PC1" liên tục, trùng nhau thì 1 hộp thoại cảnh báo "DỮ LIỆU ĐÃ ĐƯỢC THÊM" xuất hiện ở sheet "IN PHIEU XAC NHAN", khi dữ liệu trùng ở sheet "PC1" được xóa thì mất cảnh báo.
Pass mở khóa file: 123
Xin lỗi về sự bất tiện, do e không biết cách tháo khóa file này.
Xin các a/c giúp đỡ, em xin cảm ơn!
Theo tôi thì chẳng cần cảnh báo làm gì cho mất công. Sau khi copy xong (trùng hoặc không kệ nó), bạn chỉ cần làm thêm động tác RemoveDuplicate là chẳng còn cái nào trùng cả
Vậy đi cho khỏe
 
Theo tôi thì chẳng cần cảnh báo làm gì cho mất công. Sau khi copy xong (trùng hoặc không kệ nó), bạn chỉ cần làm thêm động tác RemoveDuplicate là chẳng còn cái nào trùng cả
Vậy đi cho khỏe
Dạ! Em xin cảm ơn ý kiến của anh!
Em không phải là người sử dụng trực tiếp file này, mà là dành cho 1 đội gồm những người chỉ gõ được chữ số, kiến thức excel có hạn, nhiều thao tác lỗi, nên phải làm cảnh báo cho họ!
Em xin được giúp đỡ ạ! Em cảm ơn anh!
 
Dạ! Em xin cảm ơn ý kiến của anh!
Em không phải là người sử dụng trực tiếp file này, mà là dành cho 1 đội gồm những người chỉ gõ được chữ số, kiến thức excel có hạn, nhiều thao tác lỗi, nên phải làm cảnh báo cho họ!
Em xin được giúp đỡ ạ! Em cảm ơn anh!
Thì nói cho cùng, mục đích chính của bạn là chống trùng lập đúng không? Vậy ta cứ âm thầm xử lý chứ mắc gì phải cảnh báo cho mất công
Nói chung cái nào nhanh, thuận tiện thì dùng, đùng máy móc quá
 
Em có 1 file excel. Trong sheet "IN PHIEU XAC NHAN" khi ấn vào hình "PHỄU" dữ liệu sẽ lọc như trong sheet.
Em mong muốn khi ấn vào nút "COPY" dữ liệu dưới cột tiêu đề sẽ được past value vào sheet "PC1" từ cột D đến cột O.

Trường hợp, ấn "COPY" liên tục với cùng 1 dữ liệu, làm dữ liệu được dán vào sheet "PC1" liên tục, trùng nhau thì 1 hộp thoại cảnh báo "DỮ LIỆU ĐÃ ĐƯỢC THÊM" xuất hiện ở sheet "IN PHIEU XAC NHAN", khi dữ liệu trùng ở sheet "PC1" được xóa thì mất cảnh báo.
Pass mở khóa file: 123
Xin lỗi về sự bất tiện, do e không biết cách tháo khóa file này.
Xin các a/c giúp đỡ, em xin cảm ơn!
Xin anh hỗ trợ e phần "COPY" dữ liệu anh nhé! Phần dữ liệu trùng e sẽ làm theo hướng dẫn của anh! Em xin cảm ơn ạ!
 
Xin anh hỗ trợ e phần "COPY" dữ liệu anh nhé! Phần dữ liệu trùng e sẽ làm theo hướng dẫn của anh! Em xin cảm ơn ạ!
Tôi làm cho bạn sub copy theo quan điểm ở trên, tức copy rồi RemoveDuplicate
Mã:
Sub CopyDL()
'Mo khoa
  MakeProtect False
'Copy du lieu
  With Range("A10:L10000")
   .AutoFilter 2, "<>0", xlAnd, "<>"
   .Offset(1).SpecialCells(xlCellTypeVisible).Copy Sheets("PC1").Range("D60000").End(xlUp).Offset(1)
  End With
  MakeUniqueData
'Khoa du lieu
  MakeProtect True
End Sub
Code RemoveDuplicate cho sheet PC1
Mã:
Sub MakeUniqueData()
  Dim wks As Worksheet, rng As Range
  Set wks = Worksheets("PC1")
  Set rng = wks.Range("D6", wks.Range("O60000").End(xlUp))
  rng.RemoveDuplicates Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), xlYes
End Sub
--------------------------------------------
Trong file của bạn, thấy cứ lập đi lập lại hoài thao tác Unprotect rồi lại Protect nên tôi viết luôn 1 sub làm việc này
Mã:
Private Sub MakeProtect(ByVal isProtectd As Boolean)
  If isProtectd Then
    ActiveSheet.Protect PW, DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveWorkbook.Protect PW, Structure:=True, Windows:=False
  Else
    ActiveSheet.Unprotect PW
    ActiveWorkbook.Unprotect PW
  End If
End Sub
Nếu gọi lệnh MakeProtect True có nghĩa là Protect và MakeProtect False nghĩa là Unprotect
Với PW là hằng số được khai báo Public tại đầu code
Trong Sheet IN PHIEU XAC NHAN tôi bỏ luôn cột phụ vì thấy không cần thiết)
--------------------------------------------
Nói thêm: File của bạn muốn ngon thì phải cải tiến lại rất nhiều:
- Công thức nhiều quá khiến file chậm
- Format bảng tính quá xấu
 

File đính kèm

  • CopyDataAndRemoveDuplicate.xlsb
    879.5 KB · Đọc: 44
Tôi làm cho bạn sub copy theo quan điểm ở trên, tức copy rồi RemoveDuplicate
Mã:
Sub CopyDL()
'Mo khoa
  MakeProtect False
'Copy du lieu
  With Range("A10:L10000")
   .AutoFilter 2, "<>0", xlAnd, "<>"
   .Offset(1).SpecialCells(xlCellTypeVisible).Copy Sheets("PC1").Range("D60000").End(xlUp).Offset(1)
  End With
  MakeUniqueData
'Khoa du lieu
  MakeProtect True
End Sub
Code RemoveDuplicate cho sheet PC1
Mã:
Sub MakeUniqueData()
  Dim wks As Worksheet, rng As Range
  Set wks = Worksheets("PC1")
  Set rng = wks.Range("D6", wks.Range("O60000").End(xlUp))
  rng.RemoveDuplicates Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), xlYes
End Sub
--------------------------------------------
Trong file của bạn, thấy cứ lập đi lập lại hoài thao tác Unprotect rồi lại Protect nên tôi viết luôn 1 sub làm việc này
Mã:
Private Sub MakeProtect(ByVal isProtectd As Boolean)
  If isProtectd Then
    ActiveSheet.Protect PW, DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveWorkbook.Protect PW, Structure:=True, Windows:=False
  Else
    ActiveSheet.Unprotect PW
    ActiveWorkbook.Unprotect PW
  End If
End Sub
Nếu gọi lệnh MakeProtect True có nghĩa là Protect và MakeProtect False nghĩa là Unprotect
Với PW là hằng số được khai báo Public tại đầu code
Trong Sheet IN PHIEU XAC NHAN tôi bỏ luôn cột phụ vì thấy không cần thiết)
--------------------------------------------
Nói thêm: File của bạn muốn ngon thì phải cải tiến lại rất nhiều:
- Công thức nhiều quá khiến file chậm
- Format bảng tính quá xấu
Dạ, em xin cảm ơn góp ý của anh!:)
 
Web KT
Back
Top Bottom