Hiển thị kết quả tìm kiếm từ 1 đến 9 trên tổng số: 9
  1. #1

    Làm thế nào Protect hoặc unprotect nhiều sheet cùng 1 lúc

    Cac ban co biet cach nao de toi co the protect hoac unprotect 1 luc cung nhieu Sheet ?

  2. #2
    Tham gia ngày
    09 2006
    Nơi Cư Ngụ
    Thái Bình - Quảng Ninh
    Bài gởi
    783
    Cảm ơn
    187
    Được cảm ơn 1,217 lần trong 489 bài viết
    Bạn thử code sau:
    Code:
    Option Explicit
    '
    Public Sub Protect_Sheets()
    On Error Resume Next
    Dim strPass As String
    Dim sht_name As Worksheet
    strPass = InputBox("Enter your Password")
    For Each sht_name In Worksheets
        If Not sht_name.ProtectContents Then
            sht_name.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=strPass
        End If
    Next sht_name
    End Sub
    '
    Public Sub UnProtect_Sheets()
    On Error Resume Next
    Dim strPass As String
    Dim sht_name As Worksheet
    strPass = InputBox("Enter your Password")
    For Each sht_name In Worksheets
        sht_name.Unprotect strPass
    Next sht_name
    End Sub

  3. #3
    Tham gia ngày
    06 2006
    Bài gởi
    3,230
    Cảm ơn
    5,843
    Được cảm ơn 6,233 lần trong 2,710 bài viết

    Thêm một cái nữa để bạn tham khảo:

    Code:
    Sub ProtectSheets()
     Dim iZ As Byte:                Dim StrC As String
      On Error Resume Next
      For iZ = 1 To 9
        StrC = "Sheet" & CStr(iZ)
        Sheets(StrC).Select
        ActiveSheet.Protect Password:="AaaA"
    Next iZ
    End Sub

  4. Thành viên sau cảm ơn SA_DQ về bài viết này:


  5. #4

    Làm thế nào protect và unprotect

    Mình rất cảm ơn các bạn đã giúp mình giải quyết vấn đề mà minh nêu ra.
    Còn 1 trường hợp nhỏ nếu mình chỉ muốn chọn lựa 1 số sheet để protect hoặc unprotect chứ không phải tất cả các Sheet thì mình chưa giải quyết được. Mong các bạn giải quyết hộ mình.
    Lưu ý : tất cả sheet mình đều đặt 1 cái tên riêng.

  6. #5
    Tham gia ngày
    06 2006
    Bài gởi
    3,230
    Cảm ơn
    5,843
    Được cảm ơn 6,233 lần trong 2,710 bài viết
    Còn 1 trường hợp nhỏ nếu mình chỉ muốn chọn lựa 1 số sheet để protect hoặc unprotect chứ không phải tất cả các Sheet thì mình chưa giải quyết được. Mong các bạn giải quyết hộ mình.
    Lưu ý : tất cả sheet mình đều đặt 1 cái tên riêng.
    Theo mình nghĩ cả 2 cách đều thực hiện cho như cầu phát sinh của bạn được;
    Mình đề cập cách của mình:
    Dù bạn có gán tên nào đi nữa; excel vẫn có tên cúng cơm cho các sheets của bạn & chúng bất di bất dịch; Bạn có thể thấy điều này qua CS VBA
    Như vậy bạn muốn Protect sheet nào thì sửa lại điều kiện if thêm nữa là xong thôi!

  7. #6
    Tham gia ngày
    09 2006
    Nơi Cư Ngụ
    Thái Bình - Quảng Ninh
    Bài gởi
    783
    Cảm ơn
    187
    Được cảm ơn 1,217 lần trong 489 bài viết
    Trích Nguyên văn bởi nthaison
    Còn 1 trường hợp nhỏ nếu mình chỉ muốn chọn lựa 1 số sheet để protect hoặc unprotect chứ không phải tất cả các Sheet thì mình chưa giải quyết được. Mong các bạn giải quyết hộ mình.
    Lưu ý : tất cả sheet mình đều đặt 1 cái tên riêng.
    Sử dụng thủ tục Protect_Unprotect để giải quyết yêu cầu trên của bạn.
    Sử dụng thủ tục Protect_Sheets UnProtect_Sheets khi bạn muốn áp dụng cho tất cả các sheet.
    Tập tin đính kèm Tập tin đính kèm

  8. Có 5 thành viên cảm ơn nvson về bài viết này:


  9. #7
    Tham gia ngày
    12 2006
    Bài gởi
    32
    Cảm ơn
    19
    Được cảm ơn 4 lần trong 4 bài viết
    Bạn đặt tên cho các Sheet muốn Protect bắt đầu bằng một vài kí tự đặt biệt nào đó, vì dụ PrSheet1, PrSheet2 ...
    Sau đó chỉnh lại code của bạn nvson chút xíu là ok rồi => Nếu sheet name mà bắt đầu bằng Pr thì mới Protect ... còn các tên khác thì miễn
    .................
    If Not sht_name.ProtectContents Then
    If sht_name.Name Like "Pr*" Then sht_name.Protect
    DrawingObjects:=True, Contents:=True, Scenarios:=True,
    Password:=strPass
    End If
    ..........

    Have fun
    Bao nhiêu năm rồi còn mãi ... Excel
    Đi đâu loanh quanh cho đời mõi mệt!
    Bao nhiêu Cell, Range ta sài chẳng hệt (hết)
    Lại có trong tay một đống macro ...

  10. #8
    Tham gia ngày
    06 2006
    Bài gởi
    329
    Cảm ơn
    182
    Được cảm ơn 108 lần trong 67 bài viết
    Trích Nguyên văn bởi Davidsy
    Bạn đặt tên cho các Sheet muốn Protect bắt đầu bằng một vài kí tự đặt biệt nào đó, vì dụ PrSheet1, PrSheet2 ...
    Sau đó chỉnh lại code của bạn nvson chút xíu là ok rồi => Nếu sheet name mà bắt đầu bằng Pr thì mới Protect ... còn các tên khác thì miễn
    .................
    If Not sht_name.ProtectContents Then
    If sht_name.Name Like "Pr*" Then sht_name.Protect
    DrawingObjects:=True, Contents:=True, Scenarios:=True,
    Password:=strPass
    End If
    ..........

    Have fun
    Có thể đặt nhiều lệnh if được không nhỉ !!
    Mỗi lệnh if là mỗi sheet muốn protect.
    (If sht_name.Name Like "Pr*" Then sht_name.Protect )

  11. Thành viên sau cảm ơn Thien về bài viết này:


  12. #9
    Tham gia ngày
    08 2006
    Bài gởi
    3,267
    Cảm ơn
    1,733
    Được cảm ơn 3,745 lần trong 1,766 bài viết
    Trích Nguyên văn bởi Thien
    Có thể đặt nhiều lệnh if được không nhỉ !!
    Mỗi lệnh if là mỗi sheet muốn protect.
    (If sht_name.Name Like "Pr*" Then sht_name.Protect )
    Được chứ bạn. Nhưng lại phải đặt ra các trường hợp
    - Nhập nhiều lần: Mối lần chạy sẽ hiện ra một Inputbox, nhập ký tự chính xác hoặc đại diện của sheet đó thì tất cả những sheet thỏa mãn sẽ được thi hành. Sau đó lại tiếp tục vòng lặp. Nếu muốn nữa thì nhập tiếp, còn không thì thoát.
    - Nhập 1 lần : Tạo ra một vùng (range; array) là tên của các sheet muốn thi hành (có thể là tên trong excel hoặc trong VBA). Vùng này bạn có thể tạo ra trên một sheet nào đó (cho dễ thay đổi), hoặc tạo ra ngay trong VBA, sau đó chương trình sẽ căn cứ vào vùng đó để thi hành vòng lặp theo từng phần tử trong vùng đó

    Thân !

  13. Thành viên sau cảm ơn Mr Okebab về bài viết này:


Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. Hoi cách protect nhiều sheet cùng lúc, nhưng cho phép lọc autofilter
    Viết bởi dkmyghost trong chuyên mục Lập Trình với Excel
    Trả lời: 4
    Bài mới gởi: 05-02-13, 09:52 AM
  2. Làm sao để Protect tất cả các Sheet & Unprotect tất cả các Sheet?
    Viết bởi LienDong trong chuyên mục Lập Trình với Excel
    Trả lời: 1
    Bài mới gởi: 14-01-13, 10:15 AM
  3. Validation không thực hiện được khi Protect (Chạy khi UnProtect)
    Viết bởi M@trixs trong chuyên mục Giải thích, gỡ rối, xử lý lỗi công thức
    Trả lời: 3
    Bài mới gởi: 18-09-12, 09:16 AM
  4. cho em xin code để protect sheet nhiều sheet trong 1 file một lúc
    Viết bởi diemdiem trong chuyên mục Excel và các ngôn ngữ lập trình khác
    Trả lời: 6
    Bài mới gởi: 24-08-12, 10:43 AM
  5. Protect/Unprotect Sheet
    Viết bởi vtt trong chuyên mục Các hàm tự tạo cho worksheet
    Trả lời: 2
    Bài mới gởi: 31-12-06, 04:38 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]