Protect sheet không chạy được macro (1 người xem)

  • Thread starter Thread starter mimili
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

mimili

Thành viên hoạt động
Tham gia
5/10/10
Bài viết
110
Được thích
10
Mình tạo bảo vệ sheet nhưng chạy macro bị báo lỗi. Các bạn giúp mình với. Password là 123. File đính kèm bên dưới.
Cảm ơn các bạn nhiều!
 

File đính kèm

Mình tạo bảo vệ sheet nhưng chạy macro bị báo lỗi. Các bạn giúp mình với. Password là 123. File đính kèm bên dưới.
Cảm ơn các bạn nhiều!

Bạn sửa lại code như sau:
PHP:
Sub LocDL()
    With Sheet1
        .Unprotect "123"
        .[A1].CurrentRegion.AdvancedFilter xlFilterCopy, [D1:D2], [F1:G1], True
        .Protect "123"
    End With
End Sub
Xem file đính kèm cụ thể nhé!
 

File đính kèm

Upvote 0
Các bạn cho hỏi: trong trường hợp trên, nếu mình vẫn muốn dùng Auto Filter để lọc dữ liệu ở các cột khác thì phải làm thế nào?
 

File đính kèm

Upvote 0
Mấy hôm nay cao thủ đi đâu hết rồi? có ai giúp mình được không?
 
Upvote 0
Đánh vật mãi mình cũng tự thiết kế được đoạn code lọc dữ liệu. Mình không hiểu gì về VBA cả, chỉ dùng tính năng ghi Macro tự động, sau đó ghép lại với nhau --=0. Các bạn xem giúp mình làm có đúng không nhé. Ý mình là: lọc danh sách mã sản phẩm duy nhất, sau đó Sort theo thứ tự từ nhỏ đến lớn, các sheet được bảo vệ để tránh làm hỏng công thức nhưng vẫn dùng được AutoFil (Pass = "123456"). Ngoài ra mình không hiểu tại sao riêng ô E49 cứ lọc xong là bị khoá?
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Đánh vật mãi mình cũng tự thiết kế được đoạn code lọc dữ liệu. Mình không hiểu gì về VBA cả, chỉ dùng tính năng ghi Macro tự động, sau đó ghép lại với nhau --=0. Các bạn xem giúp mình làm có đúng không nhé. Ý mình là: lọc danh sách mã sản phẩm duy nhất, sau đó Sort theo thứ tự từ nhỏ đến lớn, các sheet được bảo vệ để tránh làm hỏng công thức nhưng vẫn dùng được AutoFil (Pass = "123456"). Ngoài ra mình không hiểu tại sao riêng ô E49 cứ lọc xong là bị khoá?
Xem lại thuộc tính Locked của cell E49 sẽ thấy (E1:E48 không lock còn E49 thì đang lock)
 
Upvote 0
Mình đã Unlock cell E49 rồi nhưng cứ chạy Macro xong thì nó lại tự động khoá (riêng cell E49 thôi), mình không hiểu code sai chỗ nào?

Ít nhất cũng phải Unlock từ E1 đến E378 mới có tác dụng (chắc ăn thì cứ Unlock hết cột E đi)
 
Upvote 0
Mình Unlock hết cột E, sau khi lọc các cell từ E50 trở đi lại bị khoá. Thôi, tạm bằng lòng thế vậy. Dù sao cũng cảm ơn bạn!
Cũng dễ thôi mà. Bạn Unlock bằng code là được rồi
Unlock trước khi protect sheet và sau khi sort gì đó nha. Chẳng hạn là Range("E1:E10000").Locked = False
 
Upvote 0
Bạn thay code này vào chắc là đáp ứng được yêu cầu của bạn đấy

Sub Button1_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect 123456
[E:E].Locked = False
Range([a1], [A65536].End(3)).AdvancedFilter 2, , [E1], 2
Range([E1], [E65536].End(3)).Sort key1:=[E1], header:=1
Range([E1], [E65536].End(3)).AutoFilter
ActiveSheet.Protect 123456, AllowFiltering:=True
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thay code này vào chắc là đáp ứng được yêu cầu của bạn đấy

Sub Button1_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect 123456
Range([a1], [A65536].End(3)).AdvancedFilter 2, , [E1], 2
Range([E1], [E65536].End(3)).Sort key1:=[E1], header:=1
Range([E1], [E65536].End(3)).AutoFilter
ActiveSheet.Protect 123456, AllowFiltering:=True
Application.ScreenUpdating = True
End Sub

Ý người ta thắc mắc là mấy cell phía dười của cột E bị lock sau khi chạy code đấy (tức chạy code xong, mấy cell trống dưới cột E không nhập liệu được)
Ví thế ta có 2 cách:
- Một là Unlock bằng tay
- Hai là Unlock bằng code
Tôi thấy unlock bằng code sẽ chủ động hơn
 
Upvote 0
Ý người ta thắc mắc là mấy cell phía dười của cột E bị lock sau khi chạy code đấy (tức chạy code xong, mấy cell trống dưới cột E không nhập liệu được)
Ví thế ta có 2 cách:
- Một là Unlock bằng tay
- Hai là Unlock bằng code
Tôi thấy unlock bằng code sẽ chủ động hơn

Hic, em thấy rồi nên mới thêm dòng unlock rồi đó, vả lại rút gọn code tí cho bạn ấy tham khảo.
 
Upvote 0
Web KT

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

Back
Top Bottom