hỗ trợ dùng conditional formatting (1 người xem)

Liên hệ QC

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

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

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