Computer >> Máy Tính >  >> Phần mềm >> Office

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Triển khai Macro VBA là phương pháp hiệu quả nhất, nhanh nhất và an toàn nhất để chạy bất kỳ thao tác nào trong Excel. Trong bài viết này, chúng tôi sẽ chỉ cho bạn nếu màu phông chữ trong tập dữ liệu của bạn là màu đỏ thì làm thế nào để nhận được một số kết quả nhất định trong Excel bằng cách sử dụng VBA .

Tải xuống Workbook

Bạn có thể tải xuống sổ làm việc Excel thực hành miễn phí từ đây.

6 phương pháp kiểm tra xem màu phông chữ có đỏ hay không thì trả về kết quả nhất định bằng VBA trong Excel

Nhìn vào tập dữ liệu sau, nơi có một số giá trị có màu phông chữ là màu đỏ. Trong phần này, chúng ta sẽ thảo luận về quy trình từng bước nếu màu phông chữ là màu đỏ thì làm thế nào để có được kết quả nhất định trong Excel.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

1. Nếu Màu Phông chữ là Đỏ thì Trả lại Một số Từ nhất định trong Excel

Chúng tôi muốn trả lại nếu màu phông chữ là đỏ và Không nếu màu chữ không phải là màu đỏ. Hãy xem cách thực hiện điều đó với Excel VBA .

Các bước:

  • Nhấn Alt + F11 trên bàn phím của bạn hoặc chuyển đến tab Nhà phát triển -> Visual Basic để mở Visual Basic Editor .

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Trong cửa sổ mã bật lên, từ thanh trình đơn, nhấp vào Chèn -> Mô-đun .

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Sao chép mã sau và dán vào cửa sổ mã.
Function FontColorRed(target As Range)
    Application.Volatile
    If target.Font.Color = 255 Then
    FontColorRed = "Yes"
    Else
    FontColorRed = "No"
    End If
End Function

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Đây không phải là một thủ tục phụ cho VBA chương trình để chạy, đây là tạo Hàm do người dùng xác định (UDF) . Vì vậy, sau khi viết mã, thay vì nhấp vào nút Chạy từ thanh trình đơn, nhấp vào Lưu .

  • Bây giờ, hãy quay lại trang tính quan tâm và viết hàm bạn vừa tạo bằng VBA mã (Chức năng FontColorRed trong dòng đầu tiên của mã) và bên trong dấu ngoặc đơn của FontColorRed , chuyển số tham chiếu ô mà bạn muốn chuyển đổi sang chữ cái (trong trường hợp của chúng tôi, chúng tôi chuyển Ô C5 bên trong dấu ngoặc đơn).

Vì vậy, công thức cuối cùng của chúng tôi đề cập đến,

=FontColorRed (C5)

  • Nhấn Enter .

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Bạn sẽ nhận được nếu màu phông chữ trong Ô C5 có màu đỏ, nếu không, bạn sẽ nhận được Không . Trong trường hợp của chúng tôi, màu phông chữ của văn bản bên trong Ô C5 không có màu đỏ, vì vậy chúng tôi có Không

  • Bây giờ hãy kéo hàng xuống bằng cách Fill Handle để áp dụng UDF vào phần còn lại của các ô và bạn sẽ nhận được bên cạnh các ô chứa văn bản có màu chữ đỏ.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

2. Trả lại mã màu nếu màu phông chữ là đỏ

Ở đây chúng ta sẽ tìm hiểu cách trích xuất mã màu dựa trên màu phông chữ là màu đỏ trong Excel với VBA .

Các bước:

  • Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển Chèn a Mô-đun trong cửa sổ mã.
  • Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
Function ColorCode(rng As Range)
    ColorCode = rng.Font.ColorIndex
End Function

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Bây giờ, như được hiển thị trước đây, hãy gọi Mã màu UDF từ tập dữ liệu, chuyển số tham chiếu ô (ví dụ: C5 ) làm đối số, nhấn Enter.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Bạn sẽ nhận được mã màu liên quan làm giá trị trả lại.

  • Bây giờ hãy kéo hàng xuống bằng cách Fill Handle để áp dụng UDF đến phần còn lại của các ô để mã có màu phông chữ là màu đỏ.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

3. Nếu Màu Phông chữ là Đỏ thì Trả lại Chỉ mục trong Excel

Ở đây chúng ta sẽ tìm hiểu cách trả lại số chỉ mục dựa trên màu phông chữ là màu đỏ trong Excel với VBA .

Các bước:

  • Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển Chèn a Mô-đun trong cửa sổ mã.
  • Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
Function IndexColor(cell As Range)
        IndexColor = cell.Font.Color
End Function

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Bây giờ, như được hiển thị trước đây, hãy gọi IndexColor UDF từ tập dữ liệu, chuyển số tham chiếu ô (ví dụ: C5 ) làm đối số, nhấn Enter.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Bạn sẽ nhận được số chỉ mục liên quan của màu phông chữ làm giá trị trả về.

  • Bây giờ hãy kéo hàng xuống bằng cách Fill Handle để áp dụng UDF đến phần còn lại của các ô để nhận số chỉ mục của màu phông chữ là màu đỏ.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Các ô chứa văn bản có phông chữ màu đỏ sẽ trả về 255 dưới dạng số chỉ mục của màu đỏ 255 .

4. Trả lại mã RGB nếu màu phông chữ là đỏ trong Excel

Ở đây chúng ta sẽ tìm hiểu cách lấy mã RGB dựa trên màu phông chữ là màu đỏ trong Excel với VBA .

Các bước:

  • Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển Chèn a Mô-đun trong cửa sổ mã.
  • Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
Function FontRGB(cell As Range)
    Dim iColorIndex As Long
    Dim iColor As Variant
    iColorIndex = cell.Font.Color
    iColor = iColorIndex Mod 256
    iColor = iColor & ", "
    iColor = iColor & (iColorIndex \ 256) Mod 256
    iColor = iColor & ", "
    iColor = iColor & (iColorIndex \ 256 \ 256) Mod 256
    FontRGB = iColor
End Function

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Bây giờ, như được hiển thị trước đây, hãy gọi FontRGB UDF từ tập dữ liệu, chuyển số tham chiếu ô (ví dụ: C5 ) làm đối số, nhấn Enter.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Bạn sẽ nhận được mã RGB liên quan của màu phông chữ làm giá trị trả về.

  • Bây giờ hãy kéo hàng xuống bằng cách Fill Handle để áp dụng UDF đến phần còn lại của các ô để nhận mã RGB của màu phông chữ là màu đỏ.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Các ô chứa văn bản có phông chữ màu đỏ sẽ trả về 255,0,0 dưới dạng mã RGB của màu đỏ 255,0,0 .

5. Nếu Màu Phông chữ là Đỏ thì Đánh dấu Ô

Nếu bạn muốn đánh dấu các ô chứa văn bản với màu chữ là màu đỏ, hãy tiếp tục đọc bài viết để biết cách thực hiện điều đó.

Các bước:

  • Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển Chèn a Mô-đun trong cửa sổ mã.
  • Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
Sub HighlightCell()    
    Set ws = Sheets("Highlight") 'set the worksheet    
    For r = 1 To 104
        For c = 1 To 36
            If (ws.Cells(r, c).Font.Color = 255) Then
                'set the desired color index
                ws.Cells(r, c).Interior.ColorIndex = 34
            End If
        Next c
    Next r
End Sub

Mã của bạn hiện đã sẵn sàng để chạy.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Nhấn F5 trên bàn phím của bạn hoặc từ thanh trình đơn, chọn Run -> Run Sub / UserForm . Bạn cũng có thể chỉ cần nhấp vào biểu tượng Play nhỏ trong thanh menu phụ để chạy macro.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Bạn sẽ thấy rằng các ô có phông chữ màu đỏ hiện được đánh dấu.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

6. Thay đổi màu phông chữ nếu màu phông chữ là đỏ

Nếu bạn muốn thay đổi màu chữ đỏ trở lại màu mặc định, hãy làm theo các bước được hiển thị bên dưới.

Các bước:

  • Tương tự như trước đây, mở Visual Basic Editor từ Nhà phát triển Chèn a Mô-đun trong cửa sổ mã.
  • Trong cửa sổ mã, hãy sao chép và dán mã sau đây.
Sub ChangeFontColor()
    With Application.FindFormat.Font
        .Subscript = False
        .Color = 255
        .TintAndShade = 0
    End With
    With Application.ReplaceFormat.Font
        .Subscript = False
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
    Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
    xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
End Sub

Mã của bạn hiện đã sẵn sàng để chạy.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

  • Chạy macro.

VBA để kiểm tra xem màu phông chữ là đỏ thì trả về kết quả trong Excel

Các giá trị có màu phông chữ đỏ hiện được chuyển trở lại thành màu phông chữ mặc định.

Kết luận

Bài viết này cho bạn biết nếu màu phông chữ của các giá trị trong tập dữ liệu của bạn là màu đỏ thì làm thế nào để nhận được một số kết quả nhất định trong Excel bằng cách sử dụng VBA . Tôi hy vọng bài viết này rất hữu ích cho bạn. Vui lòng hỏi nếu bạn có bất kỳ câu hỏi nào liên quan đến chủ đề này.

Có thể bạn cũng thích khám phá

  • VBA để loại bỏ ký tự khỏi chuỗi trong Excel (7 phương pháp)
  • Cách sử dụng VBA để xóa hàng trống trong Excel
  • VBA Macro để Chèn Hàng trong Excel Dựa trên Tiêu chí (4 Phương pháp)
  • Cách đếm hàng bằng VBA trong Excel (5 cách tiếp cận)
  • VBA để Xóa Toàn bộ Hàng dựa trên Giá trị Ô trong Excel (3 Phương pháp)