Hướng dẫn excel vba conditional formatting font color - màu phông chữ định dạng có điều kiện trong excel vba

  • #2

Thay đổi font_change thành worksheet_change ...

Đặt nó vào phần mã của bảng tính cụ thể ...

Mã của bạn đang thay đổi màu sắc lấp đầy nội thất ... đó là những gì bạn muốn hoặc màu phông chữ? Nếu bạn muốn thay đổi màu phông chữ
if you want font color change

đến

Đối với màu sắc ... Xem chủ đề này có giúp không ... //www.mrexcel.com/forum/showthread.php?t=163988
//www.mrexcel.com/forum/showthread.php?t=163988

Lưu ý: Khi bạn đăng mã, hãy đặt các thẻ này xung quanh nó để xem dễ dàng hơn ... tức là không có khoảng trống [mã] đặt mã ở đây [ / mã]
[ CODE ] place code here [ / CODE ]

Đã chỉnh sửa lần cuối: ngày 6 tháng 7 năm 2009

  • #3

Tôi đã thực hiện một vài thay đổi:

Mã số:

Private Sub Font_Change[]
Dim MyRange As Range
For Each MyRange In Sheets["Sheet1"].Range["D2:D1000"]
If MyRange.Value = "Started" Then
MyRange.Interior.ColorIndex = 3
End If
If MyRange.Value = "Pending" Then
MyRange.Interior.ColorIndex = 4
End If
If MyRange.Value = "On-going" Then
MyRange.Interior.ColorIndex = 18
End If
If MyRange.Value = "Completed" Then
MyRange.Interior.ColorIndex = 6
End If
Next MyRange
End Sub

Mã sẽ đi trong một mô -đun và bây giờ tham chiếu tên trang tính khi bắt đầu. Nếu bạn không làm điều đó, nó sẽ hoạt động trên bảng hoạt động.

Bạn cũng có thể muốn xem xét bằng cách sử dụng câu lệnh CASE chọn thay vì một loạt các câu lệnh nếu sau đó.

Bạn có thể sử dụng điều này để liệt kê các mã ColorIndex, chạy nó trên bảng tính trống:

Mã số:

Public Sub GetColours[]
    Dim x As Integer
 
    Application.ScreenUpdating = False
        For x = 1 To 56
            Cells[x, 1] = x
            Cells[x, 2].Interior.ColorIndex = x
        Next x
    Application.ScreenUpdating = True
End Sub

Mã sẽ đi trong một mô -đun và bây giờ tham chiếu tên trang tính khi bắt đầu. Nếu bạn không làm điều đó, nó sẽ hoạt động trên bảng hoạt động.

Bạn cũng có thể muốn xem xét bằng cách sử dụng câu lệnh CASE chọn thay vì một loạt các câu lệnh nếu sau đó.

  • Bạn có thể sử dụng điều này để liệt kê các mã ColorIndex, chạy nó trên bảng tính trống:

Hy vọng nó giúp.

Mã số:

Private Sub Worksheet_Calculate[]
Dim cell As Range, icol As Integer
For Each cell In Range["D2:D1000"]
    Select Case cell.Value
        Case "Started": icol = 3
        Case "Pending": icol = 4
        Case "On-going": icol = 18
        Case "Completed": icol = 6
    End Select
    cell.Interior.ColorIndex = icol
Next cell
End Sub

  • Mã sẽ đi trong một mô -đun và bây giờ tham chiếu tên trang tính khi bắt đầu. Nếu bạn không làm điều đó, nó sẽ hoạt động trên bảng hoạt động.

Bạn cũng có thể muốn xem xét bằng cách sử dụng câu lệnh CASE chọn thay vì một loạt các câu lệnh nếu sau đó.

Bạn có thể sử dụng điều này để liệt kê các mã ColorIndex, chạy nó trên bảng tính trống:

Hy vọng nó giúp.

Dom

#4

  • Nếu các giá trị đang được thay đổi theo các công thức thì bạn sẽ cần:

#5

Thông tin tuyệt vời!

  • Macro để hiển thị các mã chỉ số màu hoạt động hoàn hảo!

Bởi vì đây là một phụ riêng tư, tôi chỉ có thể thực hiện macro bằng nút thanh công cụ hoặc tùy chọn menu. Có một phương pháp khác về định dạng có điều kiện [điều kiện w/4] mà không phải thực hiện macro riêng không?

  • Cảm ơn,

Steve

Đã chỉnh sửa lần cuối: ngày 6 tháng 7 năm 2009

  • #3

Tôi đã thực hiện một vài thay đổi:

Mã số:

Private Sub Worksheet_Change[ByVal Target As Range]
Dim icol As Integer
If Not Intersect[Target, Range["D2:D1000"]] Is Nothing Then
    Select Case Target.Value
        Case "Started": icol = 3
        Case "Pending": icol = 4
        Case "On-going": icol = 18
        Case "Completed": icol = 6
    End Select
    Target.Interior.ColorIndex = icol
End If
End Sub

Mã sẽ đi trong một mô -đun và bây giờ tham chiếu tên trang tính khi bắt đầu. Nếu bạn không làm điều đó, nó sẽ hoạt động trên bảng hoạt động.

  • Bạn cũng có thể muốn xem xét bằng cách sử dụng câu lệnh CASE chọn thay vì một loạt các câu lệnh nếu sau đó.

Bạn có thể sử dụng điều này để liệt kê các mã ColorIndex, chạy nó trên bảng tính trống:

Mã số:

Private Sub Worksheet_Change[ByVal Target As Range]
Dim icol As Integer
If Not Intersect[Target, Range["D2:D1000"]] Is Nothing Then
    Select Case Target.Value
        Case "Started": icol = 3
        Case "Pending": icol = 4
        Case "On-going": icol = 18
        Case "Completed": icol = 6
    End Select
    Target.Interior.ColorIndex = icol
End If
End Sub

Mã sẽ đi trong một mô -đun và bây giờ tham chiếu tên trang tính khi bắt đầu. Nếu bạn không làm điều đó, nó sẽ hoạt động trên bảng hoạt động.

Bạn cũng có thể muốn xem xét bằng cách sử dụng câu lệnh CASE chọn thay vì một loạt các câu lệnh nếu sau đó.

Bạn có thể sử dụng điều này để liệt kê các mã ColorIndex, chạy nó trên bảng tính trống:
Dim icol As Integer
If Not Intersect[Target, Range["D2:D1000"]] Is Nothing Then
Select Case Target.Value
Case "Started": icol = 3
Case "Pending": icol = 4
Case "On-going": icol = 18
Case "Complete": icol = 6
End Select
Target.Font.ColorIndex = icol
End If
End Sub

Hy vọng nó giúp.

Chủ Đề