Option Explicit
'
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Password toi dat la "nvson", ban co the thay doi lai
Dim rngData As Range
For Each rngData In Target.Cells
If rngData.HasFormula Then
ActiveSheet.Protect ("[COLOR=red]nvson[/COLOR]")
Exit Sub
Else
ActiveSheet.Unprotect ("[COLOR=red]nvson[/COLOR]")
End If
Next rngData
End Sub
nvson đã viết:Tôi xin giới thiệu với các bạn một cách bảo vệ công thức mà theo tôi nghĩ thì "cực hay" nhưng không biết các bạn có nghĩ như vậy không?
Vào VBA, nhấn đúp vào ThisWorkbook, rồi thêm đoạn mã sau:
Đặt Password cho VBA bằng cách nhấn phải chuột vào VBAProject/ VBAProject properties/ Protection....Mã:Option Explicit ' Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 'Password toi dat la "nvson", ban co the thay doi lai Dim rngData As Range For Each rngData In Target.Cells If rngData.HasFormula Then ActiveSheet.Protect ("[COLOR=red]nvson[/COLOR]") Exit Sub Else ActiveSheet.Unprotect ("[COLOR=red]nvson[/COLOR]") End If Next rngData End Sub
Trở về MS Excel và thực hiện việc nhập dữ liệu và đánh công thức...
Bạn thử xoá ô chứa dữ liệu và ô chứa công thức ---> sẽ thấy sự khác nhau.
Có lẻ đường hường vầy chăng:anh17d4 đã viết:Cám ơn bác,đoạn mã rất hay,em đã thử nó khoá lại tất cả những ô chữa công thức.Giờ em còn muốn khoá những ô nhập dữ liệu lại: sau khi mình đã nhập dữ liệu vào thì ô đó tự động khoá lại,nếu muốn thay đổi phải sử dụng pass,không biết có làm như vậy được không vậyMong sự giúp đỡ của bác.
![]()
=========SA_DQ đã viết:Có lẻ đường hường vầy chăng:
Đặt tên cho vùng nhập dữ liệu;
Tạo macro tương tự như của NVSon để khoá mỗi vùng có tên vừa gán đó thôi;
Vận hành: khi nhập dữ liệu xong thì ấn nút để chạy macro;
Hãy chọn ô A0 (để chọn tòn bộ các ô đó mà) của Sheet chứa vùng cần khoá;forward đã viết:=========
& chuyện khóa vùng muốn gán nen cung ko làm dc. bạn có thể huớng dẫn rõ hơn 1 ti dc ko?
ban co the vao tools->option->view bo dau o o formularoi ban vao lai tools->protection->protectsheet->passwod
Tôi xin giới thiệu với các bạn một cách bảo vệ công thức mà theo tôi nghĩ thì "cực hay" nhưng không biết các bạn có nghĩ như vậy không?
Vào VBA, nhấn đúp vào ThisWorkbook, rồi thêm đoạn mã sau:
Đặt Password cho VBA bằng cách nhấn phải chuột vào VBAProject/ VBAProject properties/ Protection....Mã:Option Explicit ' Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 'Password toi dat la "nvson", ban co the thay doi lai Dim rngData As Range For Each rngData In Target.Cells If rngData.HasFormula Then ActiveSheet.Protect ("[COLOR=red]nvson[/COLOR]") Exit Sub Else ActiveSheet.Unprotect ("[COLOR=red]nvson[/COLOR]") End If Next rngData End Sub
Trở về MS Excel và thực hiện việc nhập dữ liệu và đánh công thức...
Bạn thử xoá ô chứa dữ liệu và ô chứa công thức ---> sẽ thấy sự khác nhau.
Các AC cho em hỏi có cách nào ẩn các ô chứa công thức nhưng vẫn làm việc bình thường trên sheet????