Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Cells(Target.Row, 1) "" And Cells(Target.Row, 2) = 0 Then Cells(Target.Row, 1).Font.ColorIndex = 3 End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row = 1 Then Exit Sub If Cells(Target.Row - 1, 1) "" And Cells(Target.Row - 1, 2) = 0 Then Cells(Target.Row - 1, 1).Font.ColorIndex = 3 Else Cells(Target.Row - 1, 1).Font.ColorIndex = 0 End If End Sub
Theo mình nếu chỉ đơn giản như vậy ta nên dùng hàm có sẵn của Excel, dùng "đao to" VBA hơi phí. Conditional Formating là OK !Nghĩa là nếu ô A1 đang có giá trị 15 chẳng hạn, fon màu đen. Nếu ô B1 đánh số 0 thì số 15 ở ô đó chuyển thành màu đỏ. Ngược lại thì fon không thay đổi.
Em đã làm theo bác nhưng chỉ được 1 chiều. Khi thay đổi giá trị ở ô B1 thì fon lại không thay đổi theo. Em nghĩ cái này có kiểu như tác dụng của hàm if ấy. Bác xem tiếp hộ em nha. Cám ơn bác nhiều
Theo mình nếu chỉ đơn giản như vậy ta nên dùng hàm có sẵn của Excel, dùng "đao to" VBA hơi phí. Conditional Formating là OK !
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Target.Offset(, -1).Font.ColorIndex = -(Target = 0) * 3
End If
End Sub
Yêu cầu này làm theo cách của Rollover79 hoặc DOSNET là gọn nhẹ nhất
Còn như dùng code thì vầy:
Còn bạn giaiphapexcehy hỏi cái gì đọc không hiểu gì cả ---> Đưa file đính kèm lên bạn ơiPHP:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Target.Offset(, -1).Font.ColorIndex = -(Target = 0) * 3 End If End Sub
Xem file này có đúng ý bạn không nha (vẩn là Conditional Formating)Ví dụ đây bạn. Cảm ơn mọi người nhé!
Xem file này có đúng ý bạn không nha (vẩn là Conditional Formating)
Thử thêm file nữa xem thế nào nhéCái này chưa đúng bạn ạ.
Mình muốn giá trị bảng đó ko thay đổi mà khi Vùng điều kiện thay đổi thì giá trị bảng đó thay đổi màu tương ứng.
Nếu vùng điều kiện chỉ áp đặt 1 giá trị thì mình làm đc, nhưng áp là khoảng giá trị thì mò mãi chưa ra.
Các bạn xem tiếp giúp. Cảm ơn nhiều!
Bạn thử chép macro này vô & xàiMình muốn giá trị bảng đó ko thay đổi mà khi Vùng điều kiện thay đổi thì giá trị bảng đó thay đổi màu tương ứng.
Các bạn xem tiếp giúp. Cảm ơn nhiều!![]()
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bdau As Long, KThuc As Long, Color As Byte
If Not Intersect(Target, Range("E3:E9")) Is Nothing Then
Color = Choose(Target.Row - 2, 3, 5, 6)
Bdau = Target.Value: KThuc = Target.Offset(, 1).Value
ElseIf Not Intersect(Target, Range("F3:F9")) Is Nothing Then
Color = Choose(Target.Row - 2, 3, 5, 6)
KThuc = Target.Value: Bdau = Target.Offset(, -1).Value
End If
Dim Rng As Range, Clls As Range
Set Rng = Range("A1:C" & [c65512].End(xlUp).Row)
For Each Clls In Rng
If Clls.Value >= Bdau And Clls.Value <= KThuc Then _
Clls.Font.ColorIndex = Color
Next Clls
End Sub