Nhờ các bác chỉ giáo VBA excel: khóa nút form control

Liên hệ QC

crypto

Thành viên mới
Tham gia
26/3/21
Bài viết
20
Được thích
5
Em có làm file excel cho công ty, khi làm danh sách xổ xuống thông minh bằng hàm offset để chọn sản phẩm thì khi khóa sheet sẽ không hiện ra danh sách thông minh khi gõ mấy chữ cái đầu của sản phẩm.
Em có tìm hiểu diễn đàn nước ngoài thì làm theo code sau:
.Protect Password:="xxxxx", Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True, AllowFiltering:=True
.EnableAutoFilter = True
Sau khi xài code này thì danh sách thả xuống thông minh chạy ổn nhưng các nút form control lại bị unprotect( có thể xóa và di chuyển mặc dù sheet khóa) .
Em nghĩ là do cụm này: Contents:=True, DrawingObjects:=False nhưng không biết cách xử lý.
Các nhà thông thái nghiên cứu tình huống này giúp em với ạ.
 

File đính kèm

  • form control protect.xlsm
    366.2 KB · Đọc: 3
Lần chỉnh sửa cuối:
Em có làm file excel cho công ty, khi làm danh sách xổ xuống thông minh bằng hàm offset để chọn sản phẩm thì khi khóa sheet sẽ không hiện ra danh sách thông minh khi gõ mấy chữ cái đầu của sản phẩm.
Em có tìm hiểu diễn đàn nước ngoài thì làm theo code sau:
.Protect Password:="xxxxx", Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True, AllowFiltering:=True
.EnableAutoFilter = True
Sau khi xài code này thì danh sách thả xuống thông minh chạy ổn nhưng các nút form control lại bị unprotect( có thể xóa và di chuyển mặc dù sheet khóa) .
Em nghĩ là do cụm này: Contents:=True, DrawingObjects:=False nhưng không biết cách xử lý.
Đọc cả đoạn dài thì xong phần kể chuyện của bạn.

Rồi tìm mãi không thấy phần: Mình cần làm gì? Cần hỗ trợ gì? Cần hỏi vấn đề gì? thì chẳng thấy đâu.
 
Upvote 0
Đọc cả đoạn dài thì xong phần kể chuyện của bạn.

Rồi tìm mãi không thấy phần: Mình cần làm gì? Cần hỗ trợ gì? Cần hỏi vấn đề gì? thì chẳng thấy đâu.
Em viết lủng củng quá, bác thông cảm. Em muốn sửa code làm sao cho danh sách thả xuống chạy được mà các nút form control vẫn được protect ạ. Em có đính kèm file ạ, bác xem giúp em với.
 
Upvote 0
Bạn record macro thao tác protect sheet có khóa các object là được code mẫu.

View attachment 259381

Bạn record macro thao tác protect sheet có khóa các object là được code mẫu.

View attachment 259381
Khi em dùng code protect object thì cái danh sách thả xuống thông minh nó không chạy như bình thường bác ạ. Nó sẽ bị đứng khi em ấn vào nút hiện danh sách, phải nhấp qua ô bất kì khác rồi quay lại mới ấn được. Có mối liên hệ gì giữa object và data validation dùng hàm offset không ạ?
Như file em kèm theo ạ, bác test thử giùm em với.
 

File đính kèm

  • form control protect.xlsm
    366.2 KB · Đọc: 3
Upvote 0
Em có làm file excel cho công ty, khi làm danh sách xổ xuống thông minh bằng hàm offset để chọn sản phẩm thì khi khóa sheet sẽ không hiện ra danh sách thông minh khi gõ mấy chữ cái đầu của sản phẩm.
Em có tìm hiểu diễn đàn nước ngoài thì làm theo code sau:
.Protect Password:="xxxxx", Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True, AllowFiltering:=True
.EnableAutoFilter = True
Sau khi xài code này thì danh sách thả xuống thông minh chạy ổn nhưng các nút form control lại bị unprotect( có thể xóa và di chuyển mặc dù sheet khóa) .
Em nghĩ là do cụm này: Contents:=True, DrawingObjects:=False nhưng không biết cách xử lý.
Tôi không nghiên cứu vấn đề này nhưng tôi nghĩ có lẽ không có giải pháp.

Muốn nút Button không thay đổi được kích thước, xê dịch, xóa, thì phải có DrawingObjects:=True. Nhưng lúc đó lại có vấn đề với danh sách thả. Nếu DrawingObjects:=False thì không có vấn đề với danh sách thả nhưng lại có thể xóa Button.
 
Upvote 0
Tôi không nghiên cứu vấn đề này nhưng tôi nghĩ có lẽ không có giải pháp.

Muốn nút Button không thay đổi được kích thước, xê dịch, xóa, thì phải có DrawingObjects:=True. Nhưng lúc đó lại có vấn đề với danh sách thả. Nếu DrawingObjects:=False thì không có vấn đề với danh sách thả nhưng lại có thể xóa Button.
Dạ em cảm ơn bác. Chắc em phải hi sinh danh sách thả thôi bác ạ. ::?>>
 
Upvote 0
Web KT

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

Back
Top Bottom