Lock cell (1 người xem)

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

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

vnproc

Thành viên hoạt động
Tham gia
1/2/11
Bài viết
150
Được thích
6
Chào mọi người.

Mong AE giúp mình phương án sau. Ví dụ khi mình chọn 1 gì đó thì cell A1=1 thì các dãy từ B1:B5 đều bị lock (người dùng không thể gõ vào được). Mình không biết dùng hàm gì cũng như lệnh gì.
Mong moi người giúp cho. Xin cảm ơn
 
Nhờ AE xem giúp mình đoạn mã sau sai ở đâu sao mình ko Lock Cell được. Cảm ơn

Sub Auto_Open()

If Range("AE9").Value = 0 Then
S01.Unprotect
Range("N37:N62").ClearContents
Cells.Locked = False
Range("N37:N62").Locked = True
S01.Protect
End If

If Range("AE9").Value = 1 Then
S01.Unprotect
Range("N37:N62").ClearContents
End If

End Sub
 
Chào mọi người.
Mong AE giúp mình phương án sau. Ví dụ khi mình chọn 1 gì đó thì cell A1=1 thì các dãy từ B1:B5 đều bị lock (người dùng không thể gõ vào được). Mình không biết dùng hàm gì cũng như lệnh gì.
Mong moi người giúp cho. Xin cảm ơn
Tiêu đề Lock cell nghe chung chung nên không ai trả lời.
Bạn tham khảo giải pháp khóa vùng: Allow Users to Edit Ranges.
Chọn B1:B5 > Tab Review > Allow Users to Edit Ranges > New > Ranges Password: gõ Pass 1 > gõ Pass 1 lại lần nữa > Protect sheet > Gõ Pass 2 Protect sheet > Gõ Pass 2 lại lần nữa > OK.
Với cách này, người dùng được phép sử dụng B1:B5 với Pass 1, ngoài vùng này phải biết Pass 2.
Giải pháp VBA: sử dụng sự kiện Worksheet_Change với Target là ô A1. Nếu cài đặt Protect Sheet thì ô A1 này Unlock.
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing Then
Application.ScreenUpdating = False
If Target = 1 Then
Sheet1.Unprotect 123
[B1:B5].Locked = True
Sheet1.Protect 123
Else
Sheet1.Unprotect 123
[B1:B5].Locked = False
Sheet1.Protect 123
End If
Application.ScreenUpdating = True
End If
End Sub
[/gpecode]
Code bài #2: bạn nên đưa thêm file để biết trong file còn có những gì.
 

File đính kèm

Mình làm trên như trên nhưng khi tôi sử dụng chức năng conditional formatting cho B1:B5 thì ô A1 có nhập 0 hay 1 gì nó cũng hỏi password cả. Và 1 vấn đề nữa là A1 phải nhập trực tiếp vào mới được, không thể gán kiểu như A1=C1 chẳng hạn. Nếu gán bằng công thức cho ra A1=1 hay A1=0 thì nó vẫn hỏi pass hết
Mình gửi file mong mọi người giúp.

Cảm ơn
 

File đính kèm

Lần chỉnh sửa cuối:
Mọi người giúp mình với. Thanks
 
Mình làm trên như trên nhưng khi tôi sử dụng chức năng conditional formatting cho B1:B5 thì ô A1 có nhập 0 hay 1 gì nó cũng hỏi password cả. Và 1 vấn đề nữa là A1 phải nhập trực tiếp vào mới được, không thể gán kiểu như A1=C1 chẳng hạn. Nếu gán bằng công thức cho ra A1=1 hay A1=0 thì nó vẫn hỏi pass hết
Mình gửi file mong mọi người giúp.
Cảm ơn
Thử sự kiện tính toán xem:
[gpecode=vb]
Private Sub Worksheet_Calculate() Application.ScreenUpdating = False
If [A1] = 1 Then
Sheet1.Unprotect 123
[B1:B5].Locked = True
Sheet1.Protect 123
Else
Sheet1.Unprotect 123
[B1:B5].Locked = False
Sheet1.Protect 123
End If
Application.ScreenUpdating = True
End Sub
[/gpecode]
Ngoài ra bạn tham khảo cách dùng Data Validation (sheet2), đặt điều kiện cho ô A1, nhưng ô Data Validation không có tác dụng khi cắt dán.
 

File đính kèm

Thử sự kiện tính toán xem:
[gpecode=vb]
Private Sub Worksheet_Calculate() Application.ScreenUpdating = False
If [A1] = 1 Then
Sheet1.Unprotect 123
[B1:B5].Locked = True
Sheet1.Protect 123
Else
Sheet1.Unprotect 123
[B1:B5].Locked = False
Sheet1.Protect 123
End If
Application.ScreenUpdating = True
End Sub
[/gpecode]
Ngoài ra bạn tham khảo cách dùng Data Validation (sheet2), đặt điều kiện cho ô A1, nhưng ô Data Validation không có tác dụng khi cắt dán.

File bạn gửi mình vẫn không được bạn à. Bạn xem lại giúp mình với. Cảm ơn nhiều.
 
Cái Data Validation dùng rất Tốt, Mình muốn ở cột B1:B5 khi Á=0 nó chuyển về 0 hết được không bạn?
 

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

Back
Top Bottom