Code khoá các ô trong worksheet!!!

Liên hệ QC

anhbatt

Thành viên mới
Tham gia
27/10/09
Bài viết
38
Được thích
2
Chào các thành viên!!
Các bạn có code nào cho command mà khi nhấn vào nó thì tất cả các ô trong worksheet có công thức đều bị khoá và bảo vệ bằng password không vậy?
và code cho command mà khi nhấn vào nó thì sẽ in theo các khu vực(1, s 3 ...) tuỳ theo thoả mãn điền kiện của một ô nào đó trong sheet?
Rất mong các bạn giúp đỡ!!!
 
Chào các thành viên!!
Các bạn có code nào cho command mà khi nhấn vào nó thì tất cả các ô trong worksheet có công thức đều bị khoá và bảo vệ bằng password không vậy?
và code cho command mà khi nhấn vào nó thì sẽ in theo các khu vực(1, s 3 ...) tuỳ theo thoả mãn điền kiện của một ô nào đó trong sheet?
Rất mong các bạn giúp đỡ!!!
'Bạn dán code này vào thisworkbook
Private Sub workbook_sheetselectionchange(ByVal sh As Object, ByVal target As Range)
'password dat la "25251325"
Dim rngdata As Range
'bat dau vong lap for qua vong lap for co chua gia tri
For Each rngdata In target.Cells
'kiem tra xem o so co phai la cong thuc khong ?
If rngdata.HasFormula Then
'khoa o neu o do la cong thuc
ActiveSheet.Protect ("25251325")
Exit Sub
Else
'huy bo khoa o neu o do khong phai la cong thuc
ActiveSheet.Unprotect ("25251325")
End If
Next rngdata
End Sub
 
Upvote 0
Cảm ơn khoavu nhé
À thế còn mình muốn ẩn luôn công thức trong ô đó thì thêm dòng lệnh nào nữa vậy?
 
Upvote 0
Cảm ơn khoavu nhé
À thế còn mình muốn ẩn luôn công thức trong ô đó thì thêm dòng lệnh nào nữa vậy?
Bạn chỉ cần dùng code đơn giản thôi:
[highlight=vb]
Sub Test()
With ActiveSheet
.Unprotect Password:="123" ''Mục đích để bẫy lỗi nếu sheet đã protect rồi mà chưa chọn chế độ Cells Hide
.Cells.FormulaHidden = True
.Protect Password:="123"
End With
End Sub
[/highlight]@khoavu87: Bạn cần biết là cú pháp ActiveSheet.Protect là protect luôn cả 1 sheet không phải là protect 1 cell. Với lại không cần dùng For...Next làm gì trong trường hợp này.
 
Upvote 0
Bạn chỉ cần dùng code đơn giản thôi:
[highlight=vb]
Sub Test()
With ActiveSheet
.Unprotect Password:="123" ''Mục đích để bẫy lỗi nếu sheet đã protect rồi mà chưa chọn chế độ Cells Hide
.Cells.FormulaHidden = True
.Protect Password:="123"
End With
End Sub
[/highlight]@khoavu87: Bạn cần biết là cú pháp ActiveSheet.Protect là protect luôn cả 1 sheet không phải là protect 1 cell. Với lại không cần dùng For...Next làm gì trong trường hợp này.
Cảm ơn anh. Theo em bài này dùng công thức cũng nhanh. Vì dùng Vba nếu người trong nghề họ cũng có thể mở đc thui. Nên nếu bạn muốn dùng công thức trực tiếp trong excel thì đợi tin bạn hướng dẫn tiếp.
 
Upvote 0
Cảm ơn anh. Theo em bài này dùng công thức cũng nhanh. Vì dùng Vba nếu người trong nghề họ cũng có thể mở đc thui. Nên nếu bạn muốn dùng công thức trực tiếp trong excel thì đợi tin bạn hướng dẫn tiếp.
Trùi ui! bài nào dùng công thức vậy bạn. Yêu cầu này mà dùng công thức được thì bạn chỉ giúp mình với!
 
Upvote 0
Trùi ui! bài nào dùng công thức vậy bạn. Yêu cầu này mà dùng công thức được thì bạn chỉ giúp mình với!
Ồ em viết nhầm. Anh nè nhưng bài này dùng khóa công thức từng cell một vẫn dùng protect để khóa cell và không cho nó hiện công thức tính toán cơ mà đúng ko anh?
em nghĩ dùng thế cũng tốt không cần VBA nữa.
 
Upvote 0
Cảm ơn cadifi và khoavu nha!
Mình rất vui vì sự nhiệt tình giúp đỡ của diễn đàn.
Sub Test()
With ActiveSheet
.Unprotect Password:="123" ''Mục đích để bẫy lỗi nếu sheet đã protect rồi mà chưa chọn chế độ Cells Hide
.Cells.FormulaHidden = True
.Protect Password:="123"
End With
End Sub
Cái code này dán vào modul1 sao mình không thực hiện được vậy? ô có công thức vẫn hiện lên.
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các bạn!!!
Tôi đang mở file ABC
mình viết code cho một command như thế nào để từ một ô ví dụ: ô A1 gõ: ABC1 thì khi nhấn vào command đó nó sẽ tạo ra một file copy của file ta đang mở (file ABC) và được save as là ABC1 trong cùng thư mục chứa file ABC.
Mong các bạn giúp đỡ. cảm ơn!!!
Mã:
[COLOR=#000000][COLOR=#0000bb]Sub NewFile[/COLOR][COLOR=#007700]()
    [/COLOR][COLOR=#0000bb]On Error Resume Next
    Workbooks[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Add[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]SaveAs [/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]ThisWorkbook[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Path [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#dd0000]"\" & [E11])
End Sub
[/COLOR][/COLOR]

Mình thử code này rồi nhưng nó tạo ra file mới có tên trong ô E11 nhưng không phải là một bản save file hiện tại với tên mới
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom