Chuyển màu và block cells theo điều kiện

Liên hệ QC

binhxuoi03k1

Thành viên mới
Tham gia
9/9/10
Bài viết
8
Được thích
0
Chào mọi người.
Đầu tiên mình là thành viên mới toanh, đang mới mày mò Excel thì tìm được diễn đàn. Mình đang phải làm 1 cái tool mà kiến thức quá ít, đọc những bài trên đây toàn những cái mới nên nếu vấn đề mình hỏi đã có trên diễn đàn rồi thí cho mình xin lỗi và mong mọi người chỉ chỗ cho mình tìm cách giải quyết.
Cái tool này mình rút ngắn để đỡ lằng nhằng. Nó đơn giản là 1 cái tool mà người đùng trả lời câu hỏi để ghi điểm xong rồi tổng kết tình phần trăm vẽ biểu đồ, không có gì quá ghê gớm. Nhưng mình đang mắc ở chỗ:
- Ở câu hỏi 1 (ô G5) mình dùng Data Validation để tạo drop list gồm 2 giá trị 'Achived" và "Not-Achieved". Mình muốn khi mà giá trị ô này là "Not-Achieved" thì toàn bộ các câu hỏi phía dưới (trong khoảng từ A5 đến H32) đều chuyển sang màu xám VÀ tất cả các ô từ G6 dến G32 đều có giá trj bằng 0 (người dùng không thay đổi được)
- Nếu giá trị của G5 là "Achieved" thì các ơ lại về màu như mình đã gán, các ỏ từ G6 đến G32 lại có thể nhập số bình thường. xin luw ý các ô này mình đã gán Dât Valid Dalidation, tuỳ chọn Whole number rồi

Hy vọng mình giải thích rõ ràng. Rất mong sự giúp đỡ của mọi người!

Cám ơn rất nhiều
 

File đính kèm

Chào mọi người.
Đầu tiên mình là thành viên mới toanh, đang mới mày mò Excel thì tìm được diễn đàn. Mình đang phải làm 1 cái tool mà kiến thức quá ít, đọc những bài trên đây toàn những cái mới nên nếu vấn đề mình hỏi đã có trên diễn đàn rồi thí cho mình xin lỗi và mong mọi người chỉ chỗ cho mình tìm cách giải quyết.
Cái tool này mình rút ngắn để đỡ lằng nhằng. Nó đơn giản là 1 cái tool mà người đùng trả lời câu hỏi để ghi điểm xong rồi tổng kết tình phần trăm vẽ biểu đồ, không có gì quá ghê gớm. Nhưng mình đang mắc ở chỗ:
- Ở câu hỏi 1 (ô G5) mình dùng Data Validation để tạo drop list gồm 2 giá trị 'Achived" và "Not-Achieved". Mình muốn khi mà giá trị ô này là "Not-Achieved" thì toàn bộ các câu hỏi phía dưới (trong khoảng từ A5 đến H32) đều chuyển sang màu xám VÀ tất cả các ô từ G6 dến G32 đều có giá trj bằng 0 (người dùng không thay đổi được)
- Nếu giá trị của G5 là "Achieved" thì các ơ lại về màu như mình đã gán, các ỏ từ G6 đến G32 lại có thể nhập số bình thường. xin luw ý các ô này mình đã gán Dât Valid Dalidation, tuỳ chọn Whole number rồi

Hy vọng mình giải thích rõ ràng. Rất mong sự giúp đỡ của mọi người!

Cám ơn rất nhiều
Xem trong file nhé
Lần sau bạn nên gửi file định dạng .xls
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn rất nhiều, đúng là cái mình muốn làm! Giỏi quá!!
Nhưng vẫn có 1 số điểm. Theo mình hiểu bạn dùng code để Protect-unprotect cái sheet đấy. Cái password bạn chọn là "GPE". Nhưng khi mình copy đoạn code đó vào file của mình (chuyển pass thành "TPSI") thì khi chuyển giá trị của ô G5 thành "Not-Achieved", các ô kia vẫn chuyển màu nhưng không bị khoá (vẫn thay đổi được giá trị). CÒn mở file bạn chữa thì lại khoá bt.

- 1 cái nữa là theo cách bạn làm theo mình hiểu khi minh chuyển giá trị của ô G5 sang "Achieved" toàn bộ sheet sẽ được unlock. Nhuwng mình không muốn người dùng thay đổi được các ô còn lại. Tức là ngoài ô từ g6-g32, các ô còn lại luôn luôn bị khoá.

Giúp mình nhé! Cám ơn nhiều nhiều!
 

File đính kèm

Upvote 0
Cám ơn bạn rất nhiều, đúng là cái mình muốn làm! Giỏi quá!!
Nhưng vẫn có 1 số điểm. Theo mình hiểu bạn dùng code để Protect-unprotect cái sheet đấy. Cái password bạn chọn là "GPE". Nhưng khi mình copy đoạn code đó vào file của mình (chuyển pass thành "TPSI") thì khi chuyển giá trị của ô G5 thành "Not-Achieved", các ô kia vẫn chuyển màu nhưng không bị khoá (vẫn thay đổi được giá trị). CÒn mở file bạn chữa thì lại khoá bt.

- 1 cái nữa là theo cách bạn làm theo mình hiểu khi minh chuyển giá trị của ô G5 sang "Achieved" toàn bộ sheet sẽ được unlock. Nhuwng mình không muốn người dùng thay đổi được các ô còn lại. Tức là ngoài ô từ g6-g32, các ô còn lại luôn luôn bị khoá.

Giúp mình nhé! Cám ơn nhiều nhiều!
Hãy tìm hiểu thuộc tính Locked của cell (Format cells... | Protection tab)
Mà tốt hơn hết là lấy file của tôi dùng. Ngay cả cái Validation bạn cũng làm rất thủ công, định nghĩa cho từng cell một -+*/. Trong file của tôi thì đã sửa lại.
 

File đính kèm

Upvote 0
Cám ơn bạn nhiều lắm. Mình cũng biết là mìn làm thủ công nhưng mà trình kém chỉ biết làm như thế thôi. :D Mình mới bắt đầu dùng Excel được có 3 hôm, còn chả biết hàm cộng trừ nhân chia như nào, toàn làm đến đâu search internet đến đó, được cái nào thì cứ lắp vào thôi. Mình copy cái công thức mới của bạn vào thì work rất tốt!
Nhân tiện đây xin hỏi bạn thêm câu nữa :D
- Giờ mình có 2 ô F32 với G32, mình làm Validation cho cả 2 ô này lấy nguồn từ 1 sheet khác tên là DATA ở cuối.
- Cái ô F32 thì có thể chọn giá trị từ 0 đến 5, nhừ thế là được rồi.
- Nhưng ô G32 mình muốn nó là 1 drop list, nhưng các giá trị chọn được luôn nhỏ hơn giá trị trong ô F32. Ví dụ nếu F32=4 thì cái droplist của G32 chỉ là 0,1,2,3,4 thôi. Còn nếu F32=5 thì cái droplist của G32 lại là 0,1,2,3,4,5.

Bạn có thể chỉ mình được không? Giải thích dùm mình, nếu bạn sửa vào file mình cũng được nhưng đừng thay cái Password protect của mình nhé vì mình rất gà nên bạn thay pass mình phải mò rất lâu mói sửa lại đc :(

File mình attach ở dưới đây!

Thanks Thanks
 

File đính kèm

Upvote 0
- Giờ mình có 2 ô F32 với G32, mình làm Validation cho cả 2 ô này lấy nguồn từ 1 sheet khác tên là DATA ở cuối.
- Cái ô F32 thì có thể chọn giá trị từ 0 đến 5, nhừ thế là được rồi.
- Nhưng ô G32 mình muốn nó là 1 drop list, nhưng các giá trị chọn được luôn nhỏ hơn giá trị trong ô F32. Ví dụ nếu F32=4 thì cái droplist của G32 chỉ là 0,1,2,3,4 thôi. Còn nếu F32=5 thì cái droplist của G32 lại là 0,1,2,3,4,5.
-Do cũng chưa nhìn ra ô F32,G32 ở sheet nào nên mình làm ví dụ ở sheet DATA nhé,bạn có thể cho chạy ở bất cứ sheet nào,muốn xem vì sao vào phần đặt tên nhé
 

File đính kèm

Upvote 0
Cám ơn bạn nhiều lắm. Mình cũng biết là mìn làm thủ công nhưng mà trình kém chỉ biết làm như thế thôi. :D Mình mới bắt đầu dùng Excel được có 3 hôm, còn chả biết hàm cộng trừ nhân chia như nào, toàn làm đến đâu search internet đến đó, được cái nào thì cứ lắp vào thôi. Mình copy cái công thức mới của bạn vào thì work rất tốt!
Nhân tiện đây xin hỏi bạn thêm câu nữa :D
- Giờ mình có 2 ô F32 với G32, mình làm Validation cho cả 2 ô này lấy nguồn từ 1 sheet khác tên là DATA ở cuối.
- Cái ô F32 thì có thể chọn giá trị từ 0 đến 5, nhừ thế là được rồi.
- Nhưng ô G32 mình muốn nó là 1 drop list, nhưng các giá trị chọn được luôn nhỏ hơn giá trị trong ô F32. Ví dụ nếu F32=4 thì cái droplist của G32 chỉ là 0,1,2,3,4 thôi. Còn nếu F32=5 thì cái droplist của G32 lại là 0,1,2,3,4,5.

Bạn có thể chỉ mình được không? Giải thích dùm mình, nếu bạn sửa vào file mình cũng được nhưng đừng thay cái Password protect của mình nhé vì mình rất gà nên bạn thay pass mình phải mò rất lâu mói sửa lại đc :(

File mình attach ở dưới đây!

Thanks Thanks
Như tôi đã nói ở bài trước: Không nên tạo Validation một cách thủ công cho từng ô như thế. Cụ thể xem trong file đính kèm.
 

File đính kèm

Upvote 0
Rất cám ơn 2 bạn đã nhiệt tình giúp đỡ. Mình xem 2 file các bạn làm và mày mò làm theo, kết quả file đơn giản mà dễ làm hơn rất nhiều!.
Có điều mình vẫn không hiểu ở trong file của bạn huuthang_bd, bạn làm thế nào mà gán Validation cho ha`ng loạt ô như thế? Ở trong phần source của list mình thấy bạn chỉ ghi mỗi cái GPE, mà nó lại tự thay đổi được mỗi khi nhảy sang ô khác. Bạn có thể chỉ mình cách làm cụ thể được không? Sorry mình rất gà nên làm mất thời gian các bạn!

Thứ nữa là mình định làm theo cách này:
- Ô A1 có 2 giá trị: 2 và 5
- Làm Drop list cho A2: khi A1=2 thì A2 có các giá trị:0,1,2. Khi A1=5 thì A2 có các giá trị:0,1,2,3,4,5
- Hiện giờ mình đang làm như sau:
+ Lập 1 list dãy số ở 1 Sheet khác DATA: từ A1 đến A10 = (0,1,2,3,..10)
+ DÙng hàm IF trong Source list của Validation cho A2: =IF(A1=2,(DATA!A1:A3),IF(A1=5,(DATA!A1:Ạ6)))
+ Bây giờ nó đang hoạt động tốt
- Nhưng mình đang thử làm để không phải link sang sheet khác nữa, mình thử đánh như sau: =IF(A1=2,(0,1,2),IF(A1=5,(0,1,2,3,4,5))) thì không hoạt động.
- Mình muốn hỏi là có thể đánh trực tiếp các giá trị cho ô A2 như mình làm được không (nếu có thì đánh theo dạng nào cho chuẩn) hay là nhất định phải link ra 1 cái list khác hoác dùng OFFSET như các bạn làm. Bởi mình đã thử đánh 0,1,2,3,4,5 vào source list và nó vẫn nhận, vẫn tạo drop list được.

Hy vọng các bạn hiểu câu hỏi của mình!
Cám ơn rất nhiều!
 
Upvote 0
Rất cám ơn 2 bạn đã nhiệt tình giúp đỡ. Mình xem 2 file các bạn làm và mày mò làm theo, kết quả file đơn giản mà dễ làm hơn rất nhiều!.
Có điều mình vẫn không hiểu ở trong file của bạn huuthang_bd, bạn làm thế nào mà gán Validation cho ha`ng loạt ô như thế? Ở trong phần source của list mình thấy bạn chỉ ghi mỗi cái GPE, mà nó lại tự thay đổi được mỗi khi nhảy sang ô khác. Bạn có thể chỉ mình cách làm cụ thể được không? Sorry mình rất gà nên làm mất thời gian các bạn!

Thứ nữa là mình định làm theo cách này:
- Ô A1 có 2 giá trị: 2 và 5
- Làm Drop list cho A2: khi A1=2 thì A2 có các giá trị:0,1,2. Khi A1=5 thì A2 có các giá trị:0,1,2,3,4,5
- Hiện giờ mình đang làm như sau:
+ Lập 1 list dãy số ở 1 Sheet khác DATA: từ A1 đến A10 = (0,1,2,3,..10)
+ DÙng hàm IF trong Source list của Validation cho A2: =IF(A1=2,(DATA!A1:A3),IF(A1=5,(DATA!A1:Ạ6)))
+ Bây giờ nó đang hoạt động tốt
- Nhưng mình đang thử làm để không phải link sang sheet khác nữa, mình thử đánh như sau: =IF(A1=2,(0,1,2),IF(A1=5,(0,1,2,3,4,5))) thì không hoạt động.
- Mình muốn hỏi là có thể đánh trực tiếp các giá trị cho ô A2 như mình làm được không (nếu có thì đánh theo dạng nào cho chuẩn) hay là nhất định phải link ra 1 cái list khác hoác dùng OFFSET như các bạn làm. Bởi mình đã thử đánh 0,1,2,3,4,5 vào source list và nó vẫn nhận, vẫn tạo drop list được.

Hy vọng các bạn hiểu câu hỏi của mình!
Cám ơn rất nhiều!
-Hình như phải là dấu =IF(A1=2,{0,1,2},IF(A1=5,{0,1,2,3,4,5})) hay sao ý?thử xem đi
 
Upvote 0
Hic mình thử dấu {} với [] đều không được. Chắc đúng như bạn huuthag_bd nói không làm kiểu thế được!
 
Upvote 0
Web KT

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

Back
Top Bottom