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.
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 Có 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 .
- Trong cửa sổ mã bật lên, từ thanh trình đơn, nhấp vào Chèn -> Mô-đun .
- 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
Đâ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 .
Bạn sẽ nhận được 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 Có bên cạnh các ô chứa văn bản có màu chữ đỏ.
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 và 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
- 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.
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 đỏ.
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 và 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
- 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.
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 đỏ.
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 đỏ là 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 và 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
- 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.
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 đỏ.
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 đỏ là 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 và 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.
- 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.
Bạn sẽ thấy rằng các ô có phông chữ màu đỏ hiện được đánh dấu.
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 và 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.
- Chạy macro.
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)