Hỏi cách không cho paste dữ liệu email vào sheet excel (1 người xem)

Liên hệ QC

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

Tường_Vi

Thành viên tiêu biểu
Tham gia
19/4/10
Bài viết
482
Được thích
121
Nghề nghiệp
Luôn tìm kiếm một vị trí tốt hơn
Em có đoạn code không cho paste vào các ô sau
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

' ko cho paste
Select Case Target.Address
Case "$B$3"
Application.CutCopyMode = False
End Select

End Sub

Câu hỏi:
Như vậy người dùng vẫn có thể copy nội dung từ email vào excel. Người dùng không biết copy value, làm hỏng hết format ô

Có cách nào chặn paste từ nguồn khác, paste vào ô chỉ định trong excel không?

Xin chỉ giúp
 
Lần chỉnh sửa cuối:
Vậy, có cách nào mình chỉ cho phép paste special thôi không?
Cụ thể:
1. Người dùng sẽ copy bằng cách (Copy hoặc Ctrl + C) từ nguồn khác (sheet excel khác, mail...có format khác nhau)
2. Khi vào sheet excel (Book1. sheet1) chẳng hạn
3. Người dùng sẽ dán (paste hoặc Ctrl + V)
lúc này có đoạn code nào để sheet1 book1 tự động chuyển thành paste special không?
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy, có cách nào mình chỉ cho phép paste special thôi không?
Cụ thể:
1. Người dùng sẽ copy bằng cách (Copy hoặc Ctrl + C) từ nguồn khác (sheet excel khác, mail...có format khác nhau)
2. Khi vào sheet excel (Book1. sheet1) chẳng hạn
3. Người dùng sẽ dán (paste hoặc Ctrl + V)
lúc này có đoạn code nào để sheet1 book1 tự động chuyển thành paste special không?
Bạn tham khảo topic sau xem sao: Có đoạn code nào biến mọi thao tác dán thành Paste Values không?
 
Upvote 0
Em cám ơn nhiều nhé
Anh ơi, 3 đoạn code dưới em cho vào thisworkbook nhưng ko thấy chạy nhỉ?

From bác NDU
PHP:
Sub Auto_Open()
  Application.OnKey "^v", "PasteValue"
  CommandBars("Cell").Controls("Paste").OnAction = "PasteValue"
  CommandBars("Edit").Controls("Paste").OnAction = "PasteValue"
End Sub

PHP:
  Sub PasteValue()
  Selection.PasteSpecial 3
End Sub

Và để reset mấy Action này:
PHP Code:
PHP:
Sub Auto_Close()
  Application.OnKey "^v"
  CommandBars("Cell").Reset
  CommandBars("Edit").Reset
End Sub
 
Upvote 0
Em cám ơn nhiều nhé
Anh ơi, 3 đoạn code dưới em cho vào thisworkbook nhưng ko thấy chạy nhỉ?

From bác NDU
PHP:
Sub Auto_Open()
  Application.OnKey "^v", "PasteValue"
  CommandBars("Cell").Controls("Paste").OnAction = "PasteValue"
  CommandBars("Edit").Controls("Paste").OnAction = "PasteValue"
End Sub

PHP:
  Sub PasteValue()
  Selection.PasteSpecial 3
End Sub

Và để reset mấy Action này:
PHP Code:
PHP:
Sub Auto_Close()
  Application.OnKey "^v"
  CommandBars("Cell").Reset
  CommandBars("Edit").Reset
End Sub

Bỏ vào 1 Module đó!!!!!!!!!!!!!!!!!!!!!!
 
Upvote 0
Em chưa hình dung module như nào,
em nghĩ nó thuộc về Private sub worksheetchange hoặc select ạh?

Hướng dẫn giùm em với
 
Upvote 0
Em chưa hình dung module như nào,
em nghĩ nó thuộc về Private sub worksheetchange hoặc select ạh?

Hướng dẫn giùm em với

Module thì là... module thôi. Lý nào bạn không biết MODULE là gì
Nguyên code trên có sub Auto_Open ---> Nó sẽ tự chạy khi bạn mở file. Vậy nên nếu chèn code lần đầu thì điều đương nhiên bạn phải lưu file rồi mở lên lần nữa mới có tác dụng
Sub Auto_Open tương đương với Private Sub Workbook_Open đấy
 
Upvote 0
Cám ơn Anh NDU và Anh Nhiem nhé.
Trước giờ em toàn chui vào thisworkbook và dùng Private Sub Workbook_Open
nên không biết
 
Upvote 0
Anh ơi, cho em hỏi Commandbars dùng để làm gì, em bôi đen F1, đọc nhưng không hiểu
Có phải nó là một dạng "thanh công cụ" vô hình không? Trong thanh công cụ có rất nhiều "đồ nghề"??

Nhìn trong commandbar em thấy có (Findcontrol & Findcontrols) vậy ko s và có s khác nhau ở đâu? rồi cả vụ ID: và số index nữa?

Nói qua qua rồi em tự tìm hiểu thêm ạh
Thanks
 
Upvote 0
Anh ơi, cho em hỏi Commandbars dùng để làm gì, em bôi đen F1, đọc nhưng không hiểu
Có phải nó là một dạng "thanh công cụ" vô hình không? Trong thanh công cụ có rất nhiều "đồ nghề"??

Nhìn trong commandbar em thấy có (Findcontrol & Findcontrols) vậy ko s và có s khác nhau ở đâu? rồi cả vụ ID: và số index nữa?

Nói qua qua rồi em tự tìm hiểu thêm ạh
Thanks
Để xây dựng, chỉnh sửa, thêm bớt những thứ trên thanh menu và thanh công cụ (kể cả những công cụ xuất hiện khi click phải) ta sẽ dùng đên món CommandBars này
Ví dụ để xem trong menu File (Excel 2003) có những phần tử nào, ta dùng:
PHP:
Sub Test()
  Dim Item
  With Application.CommandBars(1)
    For Each Item In .Controls("File").Controls
      MsgBox Item.Caption
    Next
  End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom