Chống copy vào vùng Data Validation!

Liên hệ QC

gakon_Office

Nguyễn Hoàng Nhi
Tham gia
18/9/11
Bài viết
176
Được thích
26
Chống coppy vào vùng Data Validation!
Gửi GPE!
Em có một vấn đề không biết phải xử lý thế nào các chuyên gia GPE xem file đính kèm rồi tìm cách giúp đỡ em với ạ?
Em muốn chống thao tác trong vùng màu đỏ trong file. Và em đã đặt công thức trong Data Validation: =”” . Nhưng vẫn coppy và paste vào vùng đó được.
Xin hỏi làm thế nào để chống coppy và paste vào vùng đấy được. mà các vùng khác trong Sheet vẫn coppy và paste bình thường.
Không dùng ProtectSheet ạ!
Xin trân thành cảm ơn
 

File đính kèm

Chống coppy vào vùng Data Validation!
Gửi GPE!
Em có một vấn đề không biết phải xử lý thế nào các chuyên gia GPE xem file đính kèm rồi tìm cách giúp đỡ em với ạ?
Em muốn chống thao tác trong vùng màu đỏ trong file. Và em đã đặt công thức trong Data Validation: =”” . Nhưng vẫn coppy và paste vào vùng đó được.
Xin hỏi làm thế nào để chống coppy và paste vào vùng đấy được. mà các vùng khác trong Sheet vẫn coppy và paste bình thường.
Không dùng ProtectSheet ạ!
Xin trân thành cảm ơn
Không chắc là được nhưng cứ thử xem:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  On Error GoTo ExitSub
  Application.EnableEvents = False
  If Not Intersect(Target, Target.SpecialCells(15)) Is Nothing Then
    Application.CutCopyMode = 0
  End If
ExitSub:
  Application.EnableEvents = True
End Sub
 
Upvote 0
Không chắc là được nhưng cứ thử xem:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  On Error GoTo ExitSub
  Application.EnableEvents = False
  If Not Intersect(Target, Target.SpecialCells(15)) Is Nothing Then
    Application.CutCopyMode = 0
  End If
ExitSub:
  Application.EnableEvents = True
End Sub

Thầy ơi em chưa thử nhưng mà nhìn cái dòng lệnh SelectionChange là có cảm giác không đạt hiệu quả như ý em rồi!

Em đã làm như sau:

PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub
Private Sub Worksheet_Activate()
Application.CutCopyMode = False
End Sub
Đó là chống copy và paste trong cả sheet.
Kết quả vẫn không ăn thua. Ví dụ nói về file đính kèm:Họ chỉ cần mở mở file lên bôi đen vào vùng màu đỏ trước. Sau đó họ mở một file khác copy 1 vùng dữ liệu nào đó. Rồi lại kick vào file (đang cần chống copy). có vùng màu đỏ đã bôi đen sẵn. Và vẫn paste bình thường được.
Ý em là chỉ khi di chuyển cell hoặc tác động lên sheet thì code mới có tác dụng.
Còn tác động lên wordbook thì không có tác dụng.
 
Upvote 0
Thầy ơi em chưa thử nhưng mà nhìn cái dòng lệnh SelectionChange là có cảm giác không đạt hiệu quả như ý em rồi!

Em đã làm như sau:

PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub
Private Sub Worksheet_Activate()
Application.CutCopyMode = False
End Sub
Đó là chống copy và paste trong cả sheet.
Kết quả vẫn không ăn thua. Ví dụ nói về file đính kèm:Họ chỉ cần mở mở file lên bôi đen vào vùng màu đỏ trước. Sau đó họ mở một file khác copy 1 vùng dữ liệu nào đó. Rồi lại kick vào file (đang cần chống copy). có vùng màu đỏ đã bôi đen sẵn. Và vẫn paste bình thường được.
Ý em là chỉ khi di chuyển cell hoặc tác động lên sheet thì code mới có tác dụng.
Còn tác động lên wordbook thì không có tác dụng.
Thêm 2 sự kiện nữa: Workbook_Activate và Worksheet_Activate ---> Lúc này sẽ kiểm tra ActiveCell có nằm trong vùng Validation hay không? Nếu có, Application.CutCopyMode = False
Kiểu vầy:
If Not Intersect(ActiveCell, ActiveCell.SpecialCells(15)) then
hoặc
If Not Intersect(Selection, Selection.SpecialCells(15)) then
Lưu ý: Code dưới phải bẫy lỗi, phòng trường hợp Selection không phải là Range (nhiều khi Selection là Shape cũng không chừng)
 
Lần chỉnh sửa cuối:
Upvote 0
Thêm 2 sự kiện nữa: Workbook_Activate và Worksheet_Activate ---> Lúc này sẽ kiểm tra ActiveCell có nằm trong vùng Validation hay không? Nếu có, Application.CutCopyMode = False
Kiểu vầy:
If Not Intersect(ActiveCell, ActiveCell.SpecialCells(15)) then
hoặc
If Not Intersect(Selection, Selection.SpecialCells(15)) then
Lưu ý: Code dưới phải bẫy lỗi, phòng trường hợp Selection không phải là Range (nhiều khi Selection là Shape cũng không chừng)

Em chào thầy!
Trường hợp này em thấy cần quá thầy có thể viết hoàn chỉnh chi tiết cho em xin toàn bộ code được không ạ?
em mới tiếp xúc nên chưa hiểu được jì thầy ạ?
cảm ơn thầy!
 
Upvote 0
Web KT

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

Back
Top Bottom