Code khóa chức năng Move or copy sheet

Liên hệ QC

pingping2288

Thành viên chính thức
Tham gia
1/11/11
Bài viết
86
Được thích
1
Mọi người cho em xin hỏi có code nào để khóa mỗi chức năng Move and copy sheet khi ta chuột phải vào tab sheet không ạ, các chức năng khác vẫn bình thường, chứ nếu đặt Protect workbook thì bị khóa ráo hết ạ! Em xin cám ơn.
 
Mọi người cho em xin hỏi có code nào để khóa mỗi chức năng Move and copy sheet khi ta chuột phải vào tab sheet không ạ, các chức năng khác vẫn bình thường, chứ nếu đặt Protect workbook thì bị khóa ráo hết ạ! Em xin cám ơn.
Bạn khóa protect workbook lại là được
 
Upvote 0
Dạ, em vừa nói như tiêu đề đó anh, khóa protect workbook thì các chức năng như rename, hide, unhide... bị khóa hết ạ, em chỉ cần khóa một chức năng Move and copy sheet thôi ạ!
Bạn thử bỏ code này vào thisworkbook xem được không nhe

Mã:
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars("Ply").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").Enabled = True
End Sub
 
Upvote 0
Bạn thử bỏ code này vào thisworkbook xem được không nhe

Mã:
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars("Ply").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").Enabled = True
End Sub
Được rồi anh ạ! Nhưng mà khi kích chuột vào tab nó không hiện gì hết, có khắc phục được vấn đề này không ạ!
Bài đã được tự động gộp:

Bạn thử bỏ code này vào thisworkbook xem được không nhe

Mã:
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars("Ply").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").Enabled = True
End Sub
Nếu giả sử mình vô tình tạo ra 1 sheet mới, muốn xóa đi thì...chịu à anh?:)
 
Upvote 0
Được rồi anh ạ! Nhưng mà khi kích chuột vào tab nó không hiện gì hết, có khắc phục được vấn đề này không ạ!
Bài đã được tự động gộp:


Nếu giả sử mình vô tình tạo ra 1 sheet mới, muốn xóa đi thì...chịu à anh?:)
Thì vào lại cửa sổ vba tạm thời bỏ code qua 1 bên chỉnh sửa tùy ý xong thì bỏ vào lại, mà không cho move hay copy sheet thì họ copy trang tính vẫn bình thường mà, chưa hiểu ý bạn cần
 
Upvote 0
Thì vào lại cửa sổ vba tạm thời bỏ code qua 1 bên chỉnh sửa tùy ý xong thì bỏ vào lại, mà không cho move hay copy sheet thì họ copy trang tính vẫn bình thường mà, chưa hiểu ý bạn cần
Dạ, ý em là mình bỏ hoặc xóa đi mỗi phần move or copy sheet khi kích chuột phải vào, dùng đoạn code của anh là ok rồi ạ, nhưng nếu mình vô tình ấn vào dấu "+" trên thanh tab excel nó sẽ tạo ra 1 sheet mới, và muốn xóa sheet này khi kích chuột phải vào nó sẽ ko hiện giao diện delete để mình xóa ạ! Em đính kèm file có chạy code của anh lên ạ, nếu muốn xóa sheet thì có cách nào ko ạ?
 

File đính kèm

Upvote 0
Dạ, ý em là mình bỏ hoặc xóa đi mỗi phần move or copy sheet khi kích chuột phải vào, dùng đoạn code của anh là ok rồi ạ, nhưng nếu mình vô tình ấn vào dấu "+" trên thanh tab excel nó sẽ tạo ra 1 sheet mới, và muốn xóa sheet này khi kích chuột phải vào nó sẽ ko hiện giao diện delete để mình xóa ạ! Em đính kèm file có chạy code của anh lên ạ, nếu muốn xóa sheet thì có cách nào ko ạ?
Thử thay xem được không? chưa thử

Mã:
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars("Ply").FindControl(ID:=848).Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").FindControl(ID:=848).Enabled = True
End Sub
 
Upvote 0
Thử thay xem được không? chưa thử

Mã:
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars("Ply").FindControl(ID:=848).Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").FindControl(ID:=848).Enabled = True
End Sub
Hì, rất tiếc là không được anh ạ. E cũng đang tìm về vấn đề này mà không thấy. Tại em có 1 file gửi cho 1 bên khác, cần bảo mật mấy định dạng nên mới phải làm thế này ạ.
 
Upvote 0
Hì, rất tiếc là không được anh ạ. E cũng đang tìm về vấn đề này mà không thấy. Tại em có 1 file gửi cho 1 bên khác, cần bảo mật mấy định dạng nên mới phải làm thế này ạ.
Vậy dùng cách này xem được không ngăn tạo sheet mới
Mã:
Option Explicit

Private Sub Workbook_Activate()
Application.CommandBars("Ply").Enabled = False
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").Enabled = True
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
MsgBox "Ban khong the tao them Sheet moi!", vbExclamation, "Thông Báo"
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom