Tăt bỏ chức năng cut trong excel (8 người xem)

Liên hệ QC

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

Mong các bạn giúp đỡ !
Yêu cầu chắc phải dùng VBA. Copy code này bỏ vào sheet nào cần
PHP:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Select Case Application.CutCopyMode
Case Is = xlCut
    Application.CutCopyMode = False
Case Is = xlCut
    Application.CutCopyMode = False
End Select
End Sub
 
Mấy vấn đề đó không ảnh hưởng,khi cut có 3 vấn đề mình nhức đầu mấy ngày nay : Thứ nhất : Là nó mất định dạng cái data validation, thứ 2 : Làm lổi địa chỉ công thức , thứ 3 : Mất định dạng format cells mình cũng làm protect sheet vẫn không khóa "cut" được
 
cái đoạn code bạn đưa ra thì ok, nhưng vẫn bấm trên bàn phím tắt " ctrl + x " được, có cách nào hay hơn chút nữa không bạn?
 
cái đoạn code bạn đưa ra thì ok, nhưng vẫn bấm trên bàn phím tắt " ctrl + x " được, có cách nào hay hơn chút nữa không bạn?
bạn thử lệnh sau:
Mã:
Sub Turn_off_shortcutkeys()
    Application.OnKey "^x", ""
End Sub

Sub Turn_on_shortcutkeys()
    Application.OnKey "^x"
End Sub

***********
- trường hợp họ Copy (Ctrl+C) rồi Paste (Ctrl+V)

#1: nếu Right click (dùng code bác QH1969)
Mã:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Select Case Application.CutCopyMode
    Case Is = xlCut
        Application.CutCopyMode = False
    'Case Is = xlCut
    Case Is = xlCopy
        Application.CutCopyMode = False
    End Select
End Sub
#2: họ có thể dùng Ctrl + V ---> tất nhiên là sẽ cho họ Paste nhưng chỉ Paste Value

bạn thử theo cách sau: tạo 1 Macro có chức năng Paste Value
Mã:
Sub PasteValue()
    'MsgBox "Record Macro"
    'xay ra loi~ khi copy anh? tu` ben ngoai` '--> chuyen sang dung` Right click hoac Menu Home
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

để chuyển lệnh Ctrl+V thành Paste Value thì bạn cài Shortcut key cho Macro có tên PasteValue

pasteValue.jpg

#3: khi người dùng Kéo và thả ô/ vùng ---> bạn phải tắt chức năng Enable fill handle and cell-drag-and-drop

fillhandle.jpg

#4: "khống chế" vị trí Paste trên thanh Ribbon - tab HOME - group Clipboard

vitriPaste.png

'-----> suy cho cùng sẽ có nhiều điểm bất tiện ...^^^^

mình nghĩ bạn nên tìm cách thay đổi cách nhập liệu (hạn chế cho người dùng thao tác trên sheet ---> nhập liệu trên UserForm)
 
Lần chỉnh sửa cuối:
mình nghĩ bạn nên tìm cách thay đổi cách nhập liệu (hạn chế cho người dùng thao tác trên sheet ---> nhập liệu trên UserForm)

Đó mới là thứ cần nghiên cứu, vì đằng nào cũng phải học code. Vậy thì học cái tốt, cái làm ta thoải mái hơn chứ chẳng mắc gì học cái "làm rối"
 
mình cũng thực hiên những đoạn code đó rồi thấy như vậy cũng được lắm ok lắm,để có thời gian chút mình tìm hiểu UserForm. xin cám ơn các bạn ạ!
 
Các bạn ơi ! hôm nay mình phát hiện còn 1 chút rắc rối nữa mới xong , khi mình "cut" bằng click chuột phải, và bấm "enter" trên bàn phím thì dán được , cho nên mình vẫn bị mất cái data validation, mong các bạn nào biết giúp đỡ mình đi ạ! -\\/.
 
Các bạn ơi ! hôm nay mình phát hiện còn 1 chút rắc rối nữa mới xong , khi mình "cut" bằng click chuột phải, và bấm "enter" trên bàn phím thì dán được , cho nên mình vẫn bị mất cái data validation, mong các bạn nào biết giúp đỡ mình đi ạ! -\\/.
"giúp đỡ" cái gì đây?
Không thấy câu hỏi của bạn ở đâu?
Và cũng không biết bạn hỏi ai nữa?
 
ý mình hỏi khi click chuột phải chon cut thì , ở bên góc trái phía dưới có dòng chữ "Select destination and press ENTER or choose Paste" mình bấm Enter thì vẫn dán được,có cách nào bỏ chức năng đó không?
 
ý mình hỏi khi click chuột phải chon cut thì , ở bên góc trái phía dưới có dòng chữ "Select destination and press ENTER or choose Paste" mình bấm Enter thì vẫn dán được,có cách nào bỏ chức năng đó không?
Mặc định của Win, của Office. Khống bỏ được đâu.
 
Vậy à,mình có thiết lập dãy ô danh sách tên hàng trong data validation,nhưng khi cut paste thì bị mất ,có cách nào cut đi mà không bị mất không bạn!
 
Vậy à,mình có thiết lập dãy ô danh sách tên hàng trong data validation,nhưng khi cut paste thì bị mất ,có cách nào cut đi mà không bị mất không bạn!
+) Nhấn "Trả Lời Với Trích Dẫn" để tôn trọng người giúp bạn cho dù chỉ có 1 người giúp
+) Tôi copy hay cut ô đã có sử dụng Data Validation đều được như hình dưới. Tôi cut từ C15 sang D17 --> excel của bạn bị lỗi gì đó.
 
+) Nhấn "Trả Lời Với Trích Dẫn" để tôn trọng người giúp bạn cho dù chỉ có 1 người giúp
+) Tôi copy hay cut ô đã có sử dụng Data Validation đều được như hình dưới. Tôi cut từ C15 sang D17 --> excel của bạn bị lỗi gì đó.

thế à, mình sử dụng excel 2007, nếu vậy để thử excel 2010 xem cám ơn bạn
 
Mình đã thử lại rồi , như trong file excel của bạn thì ý mình cần hỏi bạn làm cách nào để ô C15 không bị mất cái data validation , chứ không phải ô D17 bạn à

Thế thì KHÔNG CÓ CÁCH
Thật ra người ta có thể dùng code VBA để bảo vệ, nhưng nếu đã dùng đến VBA thì ta thà tạo luôn Form hỗ trợ nhập liệu mà không cần đến Validation
 
Mình đã thử lại rồi , như trong file excel của bạn thì ý mình cần hỏi bạn làm cách nào để ô C15 không bị mất cái data validation , chứ không phải ô D17 bạn à
Cut từ C15 thì đương nhiên là C15 mất Data Validation. Nếu muốn ở C15 không mất nhấn Copy C15 rồi Paste ở D17 --> Data Valiadtion có cả ở C15 và D17. Tại máy của tôi vẫn thì thao tác được như trên.
 
Cut từ C15 thì đương nhiên là C15 mất Data Validation. Nếu muốn ở C15 không mất nhấn Copy C15 rồi Paste ở D17 --> Data Valiadtion có cả ở C15 và D17. Tại máy của tôi vẫn thì thao tác được như trên.
vậy ah! tiếc thật mình còn chút xíu là xong rồi ,cám ơn các bạn nhiều nhé!
 
Web KT

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

Trả lời
42
Đọc
17K
Back
Top Bottom