Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để tắt các chức năng cắt, sao chép và dán trong Excel?

Giả sử bạn có một sổ làm việc với dữ liệu quan trọng mà bạn cần bảo vệ khỏi bị cắt, sao chép và dán. Làm thế nào để đạt được nó? Bài viết này cung cấp phương pháp VBA để bạn vô hiệu hóa đồng thời các hàm cắt, sao chép và dán trong sổ làm việc Excel.

Tắt các chức năng cắt, sao chép và dán với mã VBA


Tắt các chức năng cắt, sao chép và dán với mã VBA

Vui lòng làm như sau để vô hiệu hóa các chức năng cắt, sao chép và dán trong sổ làm việc Excel.

1. Trong sổ làm việc, bạn cần tắt các chức năng cắt, sao chép và dán, vui lòng nhấn Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng nhấp đúp Sổ làm việc này ở bên trái Dự án , sau đó sao chép và dán mã VBA bên dưới vào ThisWorkbook (Mã) cửa sổ. Xem ảnh chụp màn hình:

Mã VBA: Vô hiệu hóa chức năng cắt, sao chép và dán cùng một lúc trong Excel

Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub

3. Sau đó, vui lòng nhấn Khác + Q chìa khóa để thoát khỏi Microsoft Visual Basic cho các ứng dụng cửa sổ.

Bây giờ bạn không thể cắt hoặc sao chép dữ liệu từ sổ làm việc này, trong khi đó, dữ liệu bạn đã sao chép từ các trang tính hoặc sổ làm việc khác không thể được dán vào sổ làm việc này.

Chú thích: Chức năng kéo và thả cũng bị tắt sau khi chạy đoạn mã VBA trên.


Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (50)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi làm như trên nhưng chức năng cắt bản sao và quá khứ bị tắt trong bất kỳ tệp excel nào tôi mở.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đã sử dụng tùy chọn này để ẩn "Cắt" khỏi người dùng và nó hoạt động tuyệt vời trừ khi bạn có Bảng, "Cắt" xuất hiện lại một cách thần kỳ khi bạn chọn một ô trong Bảng, chính xác là điều tôi đang cố gắng tránh. bất kỳ ý tưởng? cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn. Nó đang hoạt động. Nhưng trong Toàn bộ sổ làm việc. Nếu tôi cần Mã này, chỉ tôi trang tính cụ thể.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
bạn đã tìm thấy câu trả lời chưa?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn rất nhiều. Nó hoạt động trong toàn bộ cuốn sách. Chúng tôi có thể mã hóa chỉ cho 1 trang tính không. Vui lòng giúp đỡ.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để bật lại chức năng cắt, sao chép và dán? Vui lòng cho lời khuyên!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bầu trời thân mến
Vui lòng chạy VBA1 bên dưới (đặt mã trong mô-đun ThisWorkbook) để tắt chức năng cắt, sao chép và dán trong sổ làm việc của bạn.

VBA1:
Sub DelCopy ()
Với ứng dụng
.OnKey "^ x", ""
.OnKey "^ c", ""
.CommandBars ("Ô"). Điều khiển (1) .Enabled = False
.CommandBars ("Ô"). Điều khiển (2) .Enabled = False
Kết thúc với
End Sub

Và chạy VBA2 để kích hoạt tất cả các chức năng này trở lại sổ làm việc của bạn.

VBA2:
Sub RecoverCopy ()
Với ứng dụng
.OnKey "^ x"
.OnKey "^ c"
.CommandBars ("Ô"). Controls (1) .Enabled = True
.CommandBars ("Ô"). Controls (2) .Enabled = True
Kết thúc với
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này dường như không hiệu quả với tôi - tôi có nên xóa mã VBA ban đầu và sau đó dán phần trên vào để bật lại chức năng Cắt, sao chép và dán không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Bình luận VBA1in ở trên là sự thay thế của mã gốc.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Kính thưa,

tôi muốn tắt tính năng cắt, sao chép, dán trong trang tính excel 2007
bạn có thể chia sẻ mã cho cái này không
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Cảm ơn bình luận của bạn. Tôi đang cố gắng tìm ra giải pháp cho Excel 2007. Vui lòng kiên nhẫn chờ đợi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Có thể chỉ tắt "CUT" không? nhưng tôi vẫn có thể sử dụng Sao chép và Dán?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Carmelo,
Vui lòng sao chép và dán mã dưới đây vào cửa sổ mã Workbook trong sổ làm việc của bạn và sau đó lưu nó dưới dạng sổ làm việc hỗ trợ Excel Macro. Khi đó chức năng "Cắt" sẽ bị vô hiệu hóa.

Tùy chọn rõ ràng
Private WithEvents Cmbrs as CommandBars

Private Sub Workbook_Open ()
Đặt Cmbrs = Application.CommandBars
End Sub

Private Sub Workbook_Activate ()
Nếu Application.CutCopyMode = 2 Thì
Ứng dụng.CutCopyMode = 0
Cuối Nếu
End Sub

Private Sub Cmbrs_OnUpdate ()
If Me Is ActiveWorkbook Sau đó
Nếu Application.CutCopyMode = 2 Thì
Ứng dụng.CutCopyMode = 0
MsgBox "Đã tắt hoạt động cắt"
Cuối Nếu
Cuối Nếu
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã thử giống như bạn nói nhưng không có gì xảy ra. A muốn giống hệt nhau, Chỉ có
Chức năng "Cắt" bị tắt. Tôi cần tắt tùy chọn "cắt" từ tùy chọn Rightclick buton và từ thanh công cụ.
Nó là tinh thể có thể sống được ??
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Mã hoạt động tốt trong trường hợp của tôi. Tôi có thể biết phiên bản Office của bạn không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi

Tôi là người mới bắt đầu sử dụng mã VBA và mã này đã giải quyết được 99% vấn đề của tôi.

Có thể khóa tấm lỗ (như liều mã này) nhưng vẫn có một ô được mở khóa không?
(Làm rõ, tôi chỉ cho phép sao chép thông tin quá khứ trong một ô trong trang tính lỗ).

Trân trọng
L
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào,
Bạn có thể giải quyết vấn đề mà không cần sử dụng mã VBA.
Nhấp chuột phải vào ô và chọn Định dạng Ô từ menu ngữ cảnh, bỏ chọn hộp Đã khóa bên dưới tab Bảo vệ trong hộp thoại. Và sau đó bảo vệ trang tính bằng mật khẩu.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất vui khi tìm thấy bài đăng này nhưng tôi cần một chút trợ giúp trong việc giới hạn điều này thành một trang tính duy nhất trong Workbook nhiều trang tính. Và cần biết cách thực thi điều này mà không cần sự can thiệp của người dùng ... chúng tôi cần điều này càng sớm càng tốt trên sổ làm việc để giúp ngăn ngừa lỗi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Mã VBA sau có thể giúp bạn giải quyết vấn đề. Và đừng quên thay thế "Sheet2" trong mã bằng tên trang tính của bạn.

mJWSName công khai dưới dạng chuỗi

Private Sub Workbook_Open ()
mJWSName = "Trang 2"
End Sub

Private Sub Workbook_Activate ()
Nếu ActiveSheet.Name = mJWSName Thì
Application.CutCopyMode = Sai
Application.OnKey "^ c", ""
Application.CellDragAndDrop = Sai
Cuối Nếu
End Sub

Private Sub Workbook_Deactivate ()
Application.OnKey "^ c", ""
Ứng dụng.CellDragAndDrop = Đúng
Application.CutCopyMode = Sai
End Sub


Private Sub Workbook_WindowActivate (ByVal Wn As Window)
Nếu ActiveSheet.Name = mJWSName Thì
Application.CutCopyMode = Sai
Application.OnKey "^ c", ""
Application.CellDragAndDrop = Sai
Cuối Nếu
End Sub

Private Sub Workbook_WindowDeactivate (ByVal Wn As Window)
Application.OnKey "^ c"
Ứng dụng.CellDragAndDrop = Đúng
Application.CutCopyMode = Sai
End Sub

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Nếu Sh.Name = mJWSName Thì
Application.CutCopyMode = Sai
Cuối Nếu
End Sub

Private Sub Workbook_SheetActivate (ByVal Sh As Object)
On Error Resume Next
Nếu Sh.Name = mJWSName Thì
Application.OnKey "^ c", ""
Application.CellDragAndDrop = Sai
Application.CutCopyMode = Sai
Cuối Nếu
End Sub

Private Sub Workbook_SheetDeactivate (ByVal Sh As Object)
Application.OnKey "^ c"
Ứng dụng.CellDragAndDrop = Đúng
Application.CutCopyMode = Sai
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Một câu hỏi cuối cùng - Đoạn mã này đi đâu và nó được thực thi như thế nào? Dự án này cần hoạt động với việc đính kèm tệp XLA vào trang tính Excel chứa nhiều mã. Không biết liệu điều này có cần đi vào mô-đun hay mã đằng sau trang tính này hay không. Thanks...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn sự chỉ đạo của bạn. Tôi đang cố gắng trong văn phòng 2013, nhưng không có gì thay đổi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, mã hoạt động tốt, cảm ơn.
Tuy nhiên, tùy chọn chỉ đọc đã được bật. (nếu bạn không muốn sửa đổi). Nếu tôi đặt ..File, save as, công cụ, tùy chọn chung, chỉ đọc được khuyến nghị .. thì mã không hoạt động.

Cảm ơn trước.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó thực sự hoạt động tốt, cảm ơn rất nhiều.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn nó hoạt động hoàn hảo .... nó có thể được áp dụng trên một phạm vi chỉ bằng cách nào đó?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Xin lỗi không thể giúp bạn với điều đó. Chào mừng bạn đến đăng bất kỳ câu hỏi nào trong diễn đàn của chúng tôi: https://www.extendoffice.com/forum.html. Cảm ơn bình luận của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
CẢM ƠN NGÀI
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn, rất hữu ích.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cắt sao chép dán Toàn bộ sổ làm việc áp dụng. Nếu tôi cần Mã này, chỉ tôi trang tính cụ thể.
Hãy giúp tôi. chúng ta chỉ cần một chức năng vô hiệu hóa trang tính. một trang tính khác, chúng tôi đang làm việc tất cả các chức năng ...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã đó không hoạt động trong excel 2016 của tôi cho một trang tính thay vì toàn bộ sổ làm việc
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này vẫn cho phép dán từ Notepad hoặc Microsoft Edge. Vui lòng xem có cách nào ngăn việc dán từ bất kỳ nguồn nào không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Nếu ngăn việc dán từ bất kỳ nguồn nào, chúng ta cần ngăn chặn tính năng Notepad, điều này có thể mang lại sự bất tiện. Chúng tôi không khuyến khích điều này. Xin lỗi không thể giúp bạn về điều đó.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã sử dụng mã này và muốn bật lại? làm thế nào để kích hoạt lại nó?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
sử dụng mã này để tắt tính năng cắt và dán sao chép



Private Sub Workbook_Activate ()

Application.CutCopyMode = Sai

Application.OnKey "^ c", ""

Application.CellDragAndDrop = Sai

End Sub



Private Sub Workbook_Deactivate ()

Ứng dụng.CellDragAndDrop = Đúng

Application.OnKey "^ c"

Application.CutCopyMode = Sai

End Sub



Private Sub Workbook_WindowActivate (ByVal Wn As Window)

Application.CutCopyMode = Sai

Application.OnKey "^ c", ""

Application.CellDragAndDrop = Sai

End Sub



Private Sub Workbook_WindowDeactivate (ByVal Wn As Window)

Ứng dụng.CellDragAndDrop = Đúng

Application.OnKey "^ c"

Application.CutCopyMode = Sai

End Sub



Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range)

Application.CutCopyMode = Sai

End Sub



Private Sub Workbook_SheetActivate (ByVal Sh As Object)

Application.OnKey "^ c", ""

Application.CellDragAndDrop = Sai

Application.CutCopyMode = Sai

End Sub



Private Sub Workbook_SheetDeactivate (ByVal Sh As Object)

Application.CutCopyMode = Sai

End Sub





và muốn bật lại chức năng này
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này hoạt động tuyệt vời, làm thế nào người ta sẽ sửa đổi điều này để cho phép sao chép / dán trong các cột cụ thể có menu kéo xuống được gắn với phạm vi đầu vào được chấp nhận được đặt tên và chỉ đầu vào được chấp nhận. Ví dụ: một cái tên là Jetson, George, 25 tuổi, sẽ cho phép sao chép / dán Jetson, George, 25 tuổi nhưng không cho phép Jeston, George, 26. Hoặc kéo và điền sẽ dẫn đến Jetson, George, 25 rồi 26 , rồi 27, v.v.
Trong trang tính của mình, tôi muốn tắt hoàn toàn tính năng cắt / sao chép / dán trong một số cột nhất định, sau đó chỉ cho phép dán bản sao cắt của dữ liệu được chấp nhận từ trình đơn thả xuống.
Cảm ơn bạn.
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL