Bài toán liên quan đếm màu của ô

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

nam2806

Thành viên hoạt động
Tham gia
4/12/07
Bài viết
187
Được thích
183
Nhờ các anh chị ra tay cho bài toán sau, yêu cầu trong file đính kèm.
 

File đính kèm

Sao e thử làm thế này mà không ra nhỉ
PHP:
Sub timmau()
If Sheet1.Range("C7:F13").Interior.ThemeColor = RGB(182, 221, 232) Then
    Range("G5").FormulaR1C1 = "1"
  Else
    Range("G5").FormulaR1C1 = "2"
End If
End Sub
 
Upvote 0
Thử cái ni ra rằng

PHP:
Option Explicit
Sub ColorAll()
 Dim Cls As Range
 
 [g5].Value = 1
 For Each Cls In [C7].Resize(7, 4)
   If Cls.Interior.ColorIndex < 2 Then
      [g5].Value = 2:         Exit For
   End If
 Next Cls
End Sub
 
Upvote 0
Nhờ các anh chị ra tay cho bài toán sau, yêu cầu trong file đính kèm.
Bạn nói rằng:
Tôi muốn:
** nếu các ô từ C7 đến F13 có màu xanh thì giá trị của ô G5 là 1,
** nếu một trong các ô này không màu thì giá trị của ô G5 là 2
Vậy nếu một trong các ô này có màu đỏ hoặc 1 màu nào khác thì sao? Nói rõ chút đi!
 
Upvote 0
To NDU: Màu đỏ hay màu nào cũng được, miễn là cùng một màu là OK thôi bạn à!
 
Upvote 0
To NDU: Màu đỏ hay màu nào cũng được, miễn là cùng một màu là OK thôi bạn à!
Tức là sao đây? Theo tôi hiểu thì yêu cầu của bạn sẽ vầy:
- Nếu các ô trong vùng chọn cùng 1 màu thì G5 =1
- Nếu các ô trong vùng chọn chứa từ 2 màu trở lên thì G5 = 2
---------
Đúng không? Nếu chưa đúng thì bạn vui lòng nói lại lần nữa cho thật chính xác nhé
 
Upvote 0
Là vầy:
** Các ô vùng C7:F13 tôi dùng CF, nếu thỏa điều kiện thì xanh, hay đỏ, hay vàng gì đó, nếu không thỏa thì không màu.
** Nếu vùng đó có ít nhất một ô(nghĩa là 1 ô trở lên hoặc tất cả các ô trong C7:F13) không màu thì G5=2.
** Tôi cố gắng xong dzụ này chiều mới làm vài ve nghỉ lễ (ước gì gặp bạn để chiêm ngưỡng bạn nhể! để nghe bạn nói ẹc ẹc). Cám ơn bạn quan tâm và nhờ bạn giúp đỡ.
 
Lần chỉnh sửa cuối:
Upvote 0
PHP:
Option Explicit
Sub ColorAll()
 Dim Cls As Range
 
 [g5].Value = 1
 For Each Cls In [C7].Resize(7, 4)
   If Cls.Interior.ColorIndex < 2 Then
      [g5].Value = 2:         Exit For
   End If
 Next Cls
End Sub
-Bác ChanhTQ@ cho cháu hỏi,tại sao code của cháu toàn chạy ra 2,cháu viết sai ở đâu ạ?Cháu đổi thành ColorIndex mà vẫn thế.Xin cảm ơn bác
 
Upvote 0
Là vầy:
** Các ô vùng C7:F13 tôi dùng CF, nếu thỏa điều kiện thì xanh, hay đỏ, hay vàng gì đó, nếu không thỏa thì không màu.
** Nếu vùng đó có ít nhất một ô(nghĩa là 1 ô trở lên hoặc tất cả các ô trong C7:F13) không màu thì G5=2.
** Tôi cố gắng xong dzụ này chiều mới làm vài ve nghỉ lễ (ước gì gặp bạn để chiêm ngưỡng bạn nhể! để nghe bạn nói ẹc ẹc). Cám ơn bạn quan tâm và nhờ bạn giúp đỡ.
Liên quan đến Conditional Formating mà viết code là khó ăn lắm bạn à (nếu không nói là không khả thi) ---> Thay vì viết code theo màu sắc, ta sẽ dựa vào điều kiện tô màu để tính
Nếu muốn làm, tôi nghĩ phải xem công thức trong Conditional Formating của bạn thế nào thì mới quyết định được
Kết luận: Đưa file đã có sẳn Conditional Formating lên đây
 
Upvote 0
Liên quan đến Conditional Formating mà viết code là khó ăn lắm bạn à (nếu không nói là không khả thi) ---> Thay vì viết code theo màu sắc, ta sẽ dựa vào điều kiện tô màu để tính
Tôi tự thấy mình bờm. Theo gợi ý "màu đỏ" của bạn, dựa vào điều liện tô màu, ta dùng countif đếm là xong ngay. NDU thật tuyệt. Qua bài này, có thể vận dụng vào cuộc sống: đừng phức tạp hóa những điều đơn giản, nà hãy làm ngược lại...
 
Upvote 0
Web KT

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

Back
Top Bottom