VBA khoá mở tất cả các sheets trong Woordbook

Liên hệ QC

nguyenkhamam

Thành viên mới
Tham gia
12/7/11
Bài viết
39
Được thích
2
Các thầy và các anh chị xem và sửa giúp em code của em bị sai chỗ nào mà em muốn đóng mở khoá tất cả các Sheet trong Woordbook bằng một nút như file đính kèm thì nó lại đóng mở khoá xen kẽ ạ!
Em xin cảm ơn.
 

File đính kèm

  • Dong mo khoa Sheet.xls
    48 KB · Đọc: 148
Lần chỉnh sửa cuối:
Các thầy và các anh chị xem và sửa giúp em code của em bị sai chỗ nào mà em muốn đóng mở khoá tất cả các Sheet trong Woordbook bằng một nút như file đính kèm thì nó lại đóng mở khoá xen kẽ ạ!
Em xin cảm ơn.
Bạn phải đưa các dòng thay đổi Caption của CommanButton từ Lock sang Unlock và ngược lại ra ngoài vòng lặp thì mới được. Bạn có thể sửa lại như thế này:
Mã:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
pass = Application.InputBox("Xin vui lòng nhâp Password")
If pass = "abc" Then
    For Each Sh In ActiveWorkbook.Worksheets
        If CommandButton1.Caption = "Lock" Then
            Sh.Protect Password:="12345"
        Else
            Sh.Unprotect Password:="12345"
        End If
    Next
    CommandButton1.Caption = IIf(CommandButton1.Caption = "Lock", "Unlock", "Lock")
Else
    MsgBox "Sai Password"
End If
End Sub
 
Upvote 0
Xin thầy và các anh chị chỉ cho em thêm vba này nữa với ạ!
Làm thế nào đẻ kicks vào nut thì dũ liệu ở các sheet cho phép xoá sẽ bị ạ với ạ
Xem file đính kèm
 

File đính kèm

  • Dong mo khoa Sheet.xls
    54.5 KB · Đọc: 32
Upvote 0
Xin thầy và các anh chị chỉ cho em thêm vba này nữa với ạ!
Làm thế nào đẻ kicks vào nut thì dũ liệu ở các sheet cho phép xoá sẽ bị ạ với ạ
Xem file đính kèm
Bạn dùng code này thử xem.
PHP:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Sheet2.Unprotect 12345
Sheet2.[B5:D7].ClearContents
Sheet3.Unprotect 12345
Sheet3.[C8:C13,E8:E13].ClearContents
Sheet4.Unprotect 12345
Sheet4.[C6:E14].ClearContents
Sheet5.Unprotect 12345
Sheet5.[D7:L29].ClearContents
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Thầy ơi! nhưng mà pass lại mở toang hết ra sau khi xoá dữ liệu ạ!
Có thể giữ nguyên pass sau khi xoá xong dữ liệu không ạ!
Nếu em muốn kích vào nút xoá, sau đó hỏi mật khẩu. mình nhập:6789
nhập đúng thì dữ liệu sẽ bị xoá. sai thì nhập sai pass. y như nút trên khoá mở hàng loạt đó ạ.
và xoá xong thì tự động khoá lại.
fải làm thế nào vậy thầy.
 
Upvote 0
Thầy ơi! nhưng mà pass lại mở toang hết ra sau khi xoá dữ liệu ạ!
Có thể giữ nguyên pass sau khi xoá xong dữ liệu không ạ!
Nếu em muốn kích vào nút xoá, sau đó hỏi mật khẩu. mình nhập:6789
nhập đúng thì dữ liệu sẽ bị xoá. sai thì nhập sai pass. y như nút trên khoá mở hàng loạt đó ạ.
và xoá xong thì tự động khoá lại.
fải làm thế nào vậy thầy.
Vậy thì bạn sửa lại như thế này:
PHP:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
pass = Application.InputBox("Xin vui lòng nhâp Password")
If pass = "6789" Then
    For i = 2 To 5
        Sheets(i).Unprotect 12345
    Next
    Sheet2.[B5:D7].ClearContents
    Sheet3.[C8:C13,E8:E13].ClearContents
    Sheet4.[C6:E14].ClearContents
    Sheet5.[D7:L29].ClearContents
    If CommandButton1.Caption = "Unlock" Then
        For i = 2 To 5
            Sheets(i).Protect 12345
        Next
    End If
Else
    MsgBox "Sai Password"
End If
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Web KT
Back
Top Bottom