Giúp code không cho Cut, các thao tác còn lại OK (2 người xem)

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

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Mình có 1 bảng tính Excel, mình muốn trong vùng A1:A100 không cho Cut , các thao tác còn lại, copy, paste, nhập liệu........bình thường
 
Mình có 1 bảng tính Excel, mình muốn trong vùng A1:A100 không cho Cut , các thao tác còn lại, copy, paste, nhập liệu........bình thường

Bạn làm như sau với trường hợp dùng Ctrl + X để cut

1. Mở VBA Editor lên và trong ThisWorkBook nhập code sau:

PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)    
If Not Intersect(ActiveCell, Range("A1:A100")) Is Nothing Then
         With Application
            .OnKey "^x", "CutDisabled"
            .CellDragAndDrop = False
             If Application.CutCopyMode = xlCut then
                .CutCopyMode = False
             End If
          End With
    Else
        Application.OnKey "^x"
    End If
End Sub

2. Thêm 1 module vào và nhập code sau vào module đó:

PHP:
Sub CutDisabled()
   'Inform user that the functions have been disabled
    MsgBox "Sorry!  Cutting has been disabled for this range!"
End Sub

Xem file để biết thêm chi tiết và ghé channel youtube của mình
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn làm như sau với trường hợp dùng Ctrl + X để cut

1. Mở VBA Editor lên và trong ThisWorkBook nhập code sau:

PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)    
If Not Intersect(ActiveCell, Range("A1:A100")) Is Nothing Then
         With Application
            .OnKey "^x", "CutDisabled"
            .CellDragAndDrop = False
             If Application.CutCopyMode = xlCut then
                .CutCopyMode = False
             End If
          End With
    Else
        Application.OnKey "^x"
    End If
End Sub

2. Thêm 1 module vào và nhập code sau vào module đó:

PHP:
Sub CutDisabled()
   'Inform user that the functions have been disabled
    MsgBox "Sorry!  Cutting has been disabled for this range!"
End Sub

Xem file để biết thêm chi tiết và ghé channel youtube của mình
code của bạn vẫn cut paste bình thường trong vùng cấm mà
 
Upvote 0
Bạn làm như sau với trường hợp dùng Ctrl + X để cut

1. Mở VBA Editor lên và trong ThisWorkBook nhập code sau:

PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)    
If Not Intersect(ActiveCell, Range("A1:A100")) Is Nothing Then
         With Application
            .OnKey "^x", "CutDisabled"
            .CellDragAndDrop = False
             If Application.CutCopyMode = xlCut then
                .CutCopyMode = False
             End If
          End With
    Else
        Application.OnKey "^x"
    End If
End Sub

2. Thêm 1 module vào và nhập code sau vào module đó:

PHP:
Sub CutDisabled()
   'Inform user that the functions have been disabled
    MsgBox "Sorry!  Cutting has been disabled for this range!"
End Sub

Xem file để biết thêm chi tiết và ghé channel youtube của mình

cảm ơn bạn, code của bạn đúng theo ý của mình rồi, nhưng mình muốn 1 vùng A1:A100 của sheets("data") thôi thì thay đổi chổ nào
If Not Intersect(ActiveCell, Sheets("data").Range("A1:A100")) Is Nothing Then

Mình thay đổi như trên được bạn ơi giúp mình với
 
Upvote 0
code của bạn vẫn cut paste bình thường trong vùng cấm mà

code này như đã viết trong bài trả lời của mình, hạn chế "cut" bằng cách bấm Ctrl + X, nên nếu bạn dùng chuột phải > Cut thì vẫn được như bình thường.

cảm ơn bạn, code của bạn đúng theo ý của mình rồi, nhưng mình muốn 1 vùng A1:A100 của sheets("data") thôi thì thay đổi chổ nào
If Not Intersect(ActiveCell, Sheets("data").Range("A1:A100")) Is Nothing Then

Mình thay đổi như trên được bạn ơi giúp mình với

bạn chuyển Sheets("data") thành ActiveWorkbook.Sheets("data") thử xem nhé, mình chưa test
 
Upvote 0

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

Back
Top Bottom