Xin giúp về Tự động khóa cột dọc có điều kiện (1 người xem)

  • Thread starter Thread starter tle2003
  • Ngày gửi Ngày gửi

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

tle2003

Thành viên hoạt động
Tham gia
22/1/07
Bài viết
166
Được thích
59
Xin các bạn xem file dính kèm

Cột C : Dữ Liệu vào, ví dụ khi đến C17 thì Kiểm Tra phát hiện có thông tin vào D17, E17.

Thắc mắc:
Nếu D17 hay C17 có thông tin , thì C18 , C19 .... bị khóa, không bỏ dữ liệu vào được. Trở về C17
Xin dùng VBA áp dụng cho C10 trớ đi ...

Thành thật cám ơn
 

File đính kèm

Xin các bạn xem file dính kèm

Cột C : Dữ Liệu vào, ví dụ khi đến C17 thì Kiểm Tra phát hiện có thông tin vào D17, E17.

Thắc mắc:
Nếu D17 hay C17 có thông tin , thì C18 , C19 .... bị khóa, không bỏ dữ liệu vào được. Trở về C17
Xin dùng VBA áp dụng cho C10 trớ đi ...

Thành thật cám ơn
Nếu như bạn nói vậy thì từ C11 đến C22 chỉ có duy nhất là một dòng là có thông tin thôi đúng không nhỉ? (Và nếu có một dòng là có thông tin thì các ô bên dưới ô có thông tin đó sẽ bị khóa và có tô màu xám như trong File không bạn?)
 
Upvote 0
Nếu như bạn nói vậy thì từ C11 đến C22 chỉ có duy nhất là một dòng là có thông tin thôi đúng không nhỉ? (Và nếu có một dòng là có thông tin thì các ô bên dưới ô có thông tin đó sẽ bị khóa và có tô màu xám như trong File không bạn?)

Đầu tiên mình rất cám ơn sự nhiệt tình của bạn hung2412.
C11 , C12 trở xuống C65536 : là chổ nhập dữ liệu (Tên nhân viên).
Nếu nhân viên đã có thông tin - ở đây là [c17]- hiện ra ở [D17] hay [E17], thì mình không nhập tiếp được.
Mình chỉ có thể xóa C17-E17, rồi nhập lại với giá trị mới để nhập tiến tục.
 
Upvote 0
Đầu tiên mình rất cám ơn sự nhiệt tình của bạn hung2412.
C11 , C12 trở xuống C65536 : là chổ nhập dữ liệu (Tên nhân viên).
Nếu nhân viên đã có thông tin - ở đây là [c17]- hiện ra ở [D17] hay [E17], thì mình không nhập tiếp được.
Mình chỉ có thể xóa C17-E17, rồi nhập lại với giá trị mới để nhập tiến tục.

Bài này vẫn có thể không cần VBA vẫn giải quyết được. Nhưng hình như bạn muốn xài VBA thì phải
 
Upvote 0
Đầu tiên mình rất cám ơn sự nhiệt tình của bạn hung2412.
C11 , C12 trở xuống C65536 : là chổ nhập dữ liệu (Tên nhân viên).
Nếu nhân viên đã có thông tin - ở đây là [c17]- hiện ra ở [D17] hay [E17], thì mình không nhập tiếp được.
Mình chỉ có thể xóa C17-E17, rồi nhập lại với giá trị mới để nhập tiến tục.
Bạn thử Text xem sao, nếu vướng thì tính tiếp.
[GPECODE=vb]Sub Do_du_lieu()
Cells.Locked = False
[D11].End(xlDown).Offset(1, -1).Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Selection.Locked = True
ActiveSheet.Protect DrawingTrue, True, True
End Sub
[/GPECODE]
 

File đính kèm

Upvote 0
Bạn thử Text xem sao, nếu vướng thì tính tiếp.
[GPECODE=vb]Sub Do_du_lieu()
Cells.Locked = False
[D11].End(xlDown).Offset(1, -1).Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Selection.Locked = True
ActiveSheet.Protect DrawingTrue, True, True
End Sub
[/GPECODE]

Nhờ bạn xem lại file Khoa (lan 1) , mình không thấy khác biệt về code với file đầu nhưng lại khó dùng file (? ...).
Thắc mắc là:
1. Nếu tên nhập vào C17 (từ C11 trở xuống C10000) mà trùng tên đã có trong sheet Dulieu
thì Cell C18 trở xuống C10000 bị khóa. ( Mình dùng D17 và E17 để cho biết lý do tại sao không nhập được.)
2. Sau khi xóa C17, D17, E17 thì mình có thể nhập tiếp tên khác ....

Rất cám ơn bạn
 
Upvote 0
Chào bạn hung2412,
Mình ghi thêm dòng Target.Select (xem hình), thì trở về lại target, và có thể tiếp tục xử dụng ....

Thắc mắc : VBA code để
1. Khóa được cells C ở bên dưới chổ báo lỗi
2. Khi nhập tên mới vào C lỗi thì D and E tự xóa (ở đây là C17, D17 and E17)
 
Upvote 0
Xin lỗi hình chưa tải lên

Cám ơn bạn nhiều
 
Upvote 0
Chào bạn hung2412,
Mình ghi thêm dòng Target.Select (xem hình), thì trở về lại target, và có thể tiếp tục xử dụng ....

Thắc mắc : VBA code để
1. Khóa được cells C ở bên dưới chổ báo lỗi
2. Khi nhập tên mới vào C lỗi thì D and E tự xóa (ở đây là C17, D17 and E17)
Mong là có ai giúp cho chủ thớt với. Tôi bận quá.
 
Upvote 0

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

Back
Top Bottom