Đổi màu chữ theo giá trị

Liên hệ QC

legiangnt

Thành viên chính thức
Tham gia
12/8/08
Bài viết
63
Được thích
8
Ở ô A1 đang có dữ liệu. làm cách nào để khi ô B1 = 0 chẳng hạn thì ô A1 màu fon bị đổi. Các bác giúp em nhé
 
Bạn bấm phải vào tên Sheet đó chọn View Code rồi nhập đoạn code dưới vào!
PHP:
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
Số 3 trong code bạn có thể thay đổi bằng bất kỳ số nào bạn thích! Thân.
 
Lần chỉnh sửa cuối:
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
 
Lần chỉnh sửa cuối:
Vậy dùng code thử xem có đúng ý không?
PHP:
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
Thân.
 
Lần chỉnh sửa cuối:
Bạn chọn ô cần A1, vào Format/Cells, trang Number chọn Custom trong mục Category, mục Type nhập vào [Blue]General;[Green]-General;[Red]General;[Yellow]General -> OK, bạn thử nhập vào các số Dương, số Âm, số Không và ký tự chuỗi xem có gì thay đổi không nhé.
 
Lần chỉnh sửa cuối:
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 !
 

File đính kèm

  • CF.xls
    13.5 KB · Đọc: 216
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 !

Chào các bạn!

Trường hợp mình có dữ liệu như sau:

A1/B1=?% hoặc giá trị bất kỳ
A2/B2=?%
.....
An/Bn=?%

có một vùng điều kiện giá trị 1 đến n

Làm thế nào để tùy biến màu cho các giá trị "?" thỏa mãn vùng điều kiện.

Cảm ơn các bạn!%#^#$
 
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:
PHP:
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
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 ơi
 
Mình nên dùng Conditional Formating là tốt nhất. Dùng VBA khi mình muốn đổi màu của ô khác ô giá trị. Ví dụ: Ô B2 sẽ màu đỏ nếu ô A2 = 0 chẳng hạn.
 
Khi sử dụng các Event Change thì các bạn nên chú ý đến bẫy lỗi :
PHP:
If Target.Count > 1 Then Exit Sub

Thân!
 
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:
PHP:
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
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 ơi

Ví dụ đây bạn. Cảm ơn mọi người nhé!
 

File đính kèm

  • Vidu.xls
    14 KB · Đọc: 41
Xem file này có đúng ý bạn không nha (vẩn là Conditional Formating)

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!-=.,,
 
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!
Thử thêm file nữa xem thế nào nhé
Chỉ theo "giá trị của điều kiện" thôi chứ không thể "theo màu điều kiện" được đâu nha
-----------------
Hồi nảy đưa file lên, giờ nhìn lại chẳng thấy đâu
???
 

File đính kèm

  • Vidu_2.xls
    13.5 KB · Đọc: 33
Lần chỉnh sửa cuối:
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.
Các bạn xem tiếp giúp. Cảm ơn nhiều!-=.,,
Bạn thử chép macro này vô & xài
Hướng dẫn khi sử dụng:
* Vùng điều kiện của bạn sẽ là $E$3:$F$9
* Vùng bảng giá trị sẽ là $A$1:$C$65500

PHP:
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
 
Web KT
Back
Top Bottom