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
1 cách: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
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 ?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
Không phải như vậy. Bạn thay: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
bạn viết rõ hơn giúp được khôngKhông phải như vậy. Bạn thay:
row
bằng
EntireRow
Như thế này: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 !
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
cám ơn bạn mình đã đặt code ok rồi nhé !Như thế này:
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.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
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ắtNhư thế này:
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.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
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
1. Chọn vùng đủ lớn vd. F2:F100 -> CFem 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
=F2>5
=F2>20
=$F2>20
=$F2>5