hỗ trợ dùng conditional formatting

Liên hệ QC

caonguyen89

Thành viên mới
Tham gia
26/6/18
Bài viết
39
Được thích
4
Giới tính
Nam
em có file này cần được đánh dấu dòng theo điều kiện hàng lưu ngày lưu kho trên 20 ngày với 1 mầu đỏ
ngày lưu kho trên 5 ngày mầu vàng. còn lại không có mầu
 

File đính kèm

  • Control location.xlsx
    8.9 KB · Đọc: 11
em có file này cần được đánh dấu dòng theo điều kiện hàng lưu ngày lưu kho trên 20 ngày với 1 mầu đỏ
ngày lưu kho trên 5 ngày mầu vàng. còn lại không có mầu
1 cách:
PHP:
Sub abc()
   Dim Cll
   For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
         Cll.FormatConditions.Delete
        If Cll.Value > 20 Then
           Cll.Interior.ColorIndex = 3
        ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.Interior.ColorIndex = 6
        Else
           Cll.Interior.ColorIndex = 2
        End If
    Next
End Sub
 
1 cách:
PHP:
Sub abc()
   Dim Cll
   For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
         Cll.FormatConditions.Delete
        If Cll.Value > 20 Then
           Cll.Interior.ColorIndex = 3
        ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.Interior.ColorIndex = 6
        Else
           Cll.Interior.ColorIndex = 2
        End If
    Next
End Sub
cho mình hỏi thêm nếu muốn đánh dấu mầu cả row chứ không phải chỉ ô có dữ liệu có được không ?
có phải thay như này không

Sub abc()
Dim Cll
For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
Cll.FormatConditions.Delete
If Cll.Value > 20 Then
row.Interior.ColorIndex = 3
ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.Interior.ColorIndex = 6
Else
row.Interior.ColorIndex = 2
End If
Next
End Sub
 
cho mình hỏi thêm nếu muốn đánh dấu mầu cả row chứ không phải chỉ ô có dữ liệu có được không ?
có phải thay như này không

Sub abc()
Dim Cll
For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
Cll.FormatConditions.Delete
If Cll.Value > 20 Then
row.Interior.ColorIndex = 3
ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.Interior.ColorIndex = 6
Else
row.Interior.ColorIndex = 2
End If
Next
End Sub
Không phải như vậy. Bạn thay:
row
bằng
EntireRow
 
Không phải như vậy. Bạn thay:
row
bằng
EntireRow
Không phải như vậy. Bạn thay:
row
bằng
EntireRow
bạn viết rõ hơn giúp được không

End With

Range("I6").Select

Dim Cll

For Each Cll In Range("H3:H" & Cells(Rows.Count, 6).End(xlUp).Row)

Cll.FormatConditions.Delete

If Cll.Value > 60 Then

Cll.Interior.ColorIndex = 3

ElseIf Cll.Value >= 20 And Cll.Value <= 60 Then Cll.Interior.ColorIndex = 6

Else

Cll.Interior.ColorIndex = 2

End If

Next

End Sub

mình đang viết đoạn code như trên

cái này mình có lồng trên 1 code nữa nhưng đang muốn ghép hết vào 1 lệnh

cám ơn !
 
bạn viết rõ hơn giúp được không

End With

Range("I6").Select

Dim Cll

For Each Cll In Range("H3:H" & Cells(Rows.Count, 6).End(xlUp).Row)

Cll.FormatConditions.Delete

If Cll.Value > 60 Then

Cll.Interior.ColorIndex = 3

ElseIf Cll.Value >= 20 And Cll.Value <= 60 Then Cll.Interior.ColorIndex = 6

Else

Cll.Interior.ColorIndex = 2

End If

Next

End Sub

mình đang viết đoạn code như trên

cái này mình có lồng trên 1 code nữa nhưng đang muốn ghép hết vào 1 lệnh

cám ơn !
Như thế này:
PHP:
Sub abc_New()
  Dim Cll
   For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
           If Cll.Value > 20 Then
           Cll.EntireRow.Interior.ColorIndex = 3
        ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.EntireRow.Interior.ColorIndex = 6
        Else
          Cll.EntireRow.Interior.ColorIndex = 2
        End If
    Next
End Sub
Theo tôi bạn không nên tô màu cho cả dòng, mà tô 1 vùng từ cột A tới cột F, vừa đẹp, vừa đỡ nặng File.
 
Lần chỉnh sửa cuối:
Như thế này:
PHP:
Sub abc_New()
  Dim Cll
   For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
         Cll.FormatConditions.Delete
        If Cll.Value > 20 Then
           Cll.EntireRow.Interior.ColorIndex = 3
        ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.EntireRow.Interior.ColorIndex = 6
        Else
          Cll.EntireRow.Interior.ColorIndex = 2
        End If
    Next
End Sub
Theo tôi bạn không nên tô màu cho cả dòng, mà tô 1 vùng từ cột A tới cột F, vừa đẹp, vừa đỡ nặng File.
cám ơn bạn mình đã đặt code ok rồi nhé !
 
Như thế này:
PHP:
Sub abc_New()
  Dim Cll
   For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
           If Cll.Value > 20 Then
           Cll.EntireRow.Interior.ColorIndex = 3
        ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then Cll.EntireRow.Interior.ColorIndex = 6
        Else
          Cll.EntireRow.Interior.ColorIndex = 2
        End If
    Next
End Sub
Theo tôi bạn không nên tô màu cho cả dòng, mà tô 1 vùng từ cột A tới cột F, vừa đẹp, vừa đỡ nặng File.
cho mình hỏi nếu mình chỉ tô màu cho các ô từ cột A đến F thì cần thay đổi code như nào ?? hiện tại đang tô cả dòng do vậy nhìn rất dối mắt
 
Cho ké chút xíu:
Mã:
Sub abc_New()
   Dim Cll As Range
   Cells.Interior.ColorIndex = 0
   For Each Cll In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
         Cll.FormatConditions.Delete
        If Cll.Value > 20 Then
           Cll.Offset(0, -5).Resize(1, 6).Interior.ColorIndex = 3
        ElseIf Cll.Value >= 5 And Cll.Value <= 20 Then
            Cll.Offset(0, -5).Resize(1, 6).Interior.ColorIndex = 6
        Else
          Cll.EntireRow.Interior.ColorIndex = 2
        End If
    Next
End Sub
 
em có file này cần được đánh dấu dòng theo điều kiện hàng lưu ngày lưu kho trên 20 ngày với 1 mầu đỏ
ngày lưu kho trên 5 ngày mầu vàng. còn lại không có mầu
1. Chọn vùng đủ lớn vd. F2:F100 -> CF

2. Thêm qui tắc
Mã:
=F2>5
-> chọn mầu vàng

3. Thêm qui tắc
Mã:
=F2>20
-> chọn mầu đỏ

Chỉ cần 2 qui tắc đơn giản thế thôi nhưng một việc phải làm đúng: thứ tự 2 qui tắc phải là qui tắc F2>20 là qui tắc đầu tiên
----------
Nếu muốn mầu từ A đến F thì vùng chọn ban đầu phải là A2:F100 và 2 qui tắc là
Mã:
=$F2>20
=$F2>5
 
Web KT

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

Back
Top Bottom