Xin hỏi về protect sheet (1 người xem)

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

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

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,717
Con không hiểu lắm về vấn đề này, mong được mọi người hướng dẫn. Đó là: làm thế nào protect sheet chỉ chừa lại vài ô cho mình nhập mà vẫn đảm bảo được macro chạy
 
Kyo làm thế này :
- Chọn một số ô cần cho phép nhập khi Protect
- Vào Format Cells / Protection : bỏ tích chọn Locked và Hiden và oK
- Sau đó Vào Tools / Protection và Protect Sheet
Như vậy là xong

TDN
 
Upvote 0
Con đã thử làm nhưng mà làm vậy thì macro không chạy được. Với lại xin chỉ cho con protect mà button vẫn bấm được nữa ạ
 
Upvote 0
Con đã thử làm nhưng mà làm vậy thì macro không chạy được. Với lại xin chỉ cho con protect mà button vẫn bấm được nữa ạ
- Cách trên là hướng dẫn Kyo thao tác trên bảng tính. Nếu muốn chạy Macro thì Kyo Record Macro sẽ thấy các câu lệnh trong VBA (Bằng Alt+F11)
- Khi Protect mà Kyo không click Button được thì làm như sau : select Button, click phải, chọn Format Control... Chọn thẻ Protection và bỏ tích chọn Locked, rồi OK. Sau đó Protect Sheet lại sẽ Click được Button

Hay là Kyo đưa file ví dụ sẽ tiện hơn
TDN

 
Upvote 0
Sau khi làm như Tedaynui hướng dẫn, sẽ nhấn được button.

Vấn đề thứ 2 là macro chạy được:
Nếu macro chạy có tác dộng đến những vùng, ô bị locked trong khi sheet bị protect, macro chạy sẽ báo lỗi

Vậy trước khi chạy code, hãy UnProtect sheet, chạy xong code, Protect sheet lại. Nghĩa là cho 2 câu lệnh UnProtect và Protect vào đầu và cuối code.
 
Upvote 0
Sau khi làm như Tedaynui hướng dẫn, sẽ nhấn được button.

Vấn đề thứ 2 là macro chạy được:
Nếu macro chạy có tác dộng đến những vùng, ô bị locked trong khi sheet bị protect, macro chạy sẽ báo lỗi

Vậy trước khi chạy code, hãy UnProtect sheet, chạy xong code, Protect sheet lại. Nghĩa là cho 2 câu lệnh UnProtect và Protect vào đầu và cuối code.
CÓ THỂ DÙNG CÁI FOR .. NEXT CỦA SƯ PHỤ CŨNG ĐỂ CHO CODE CHẠY NHƯ THẾ NÀY PHẢI KHÔNG SƯ PHỤ
Sub PROTECT()
For i = 1 To 10
WS = CStr(i)
Sheets(WS).Unprotect "PASSWORD"
.....
Sheets(WS).PROTECT "PASSWORD"
Next
......
End Sub
 
Upvote 0
Trời! Thương test code này chưa vậy?
 
Upvote 0

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

Back
Top Bottom