Định dạng có điều kiện là một kỹ thuật trong Excel cho phép chúng ta định dạng các ô trong bảng tính dựa trên các điều kiện nhất định. Nó có thể được tìm thấy trong phần phong cách của tab Trang chủ. đọc thêmđến một ô hoặc phạm vi ô trong Excel. Định dạng có điều kiện là định dạng chỉ được áp dụng cho các ô đáp ứng các tiêu chí nhất định, chẳng hạn như giá trị trên một giá trị cụ thể, giá trị dương hoặc âm hoặc giá trị có công thức cụ thể, v.v. Định dạng có điều kiện này cũng có thể được thực hiện trong lập trình Excel VBA bằng cách sử dụng macro/quy trình 'Bộ sưu tập FormatConditions' FormatConditions đại diện cho một định dạng có điều kiện mà người ta có thể đặt bằng cách gọi một phương thức trả về một biến thuộc loại đó. Nó chứa tất cả các định dạng có điều kiện cho một phạm vi duy nhất và chỉ có thể chứa ba điều kiện định dạng Show Mục lụcđiều kiện định dạng. Thêm/Sửa đổi/Xóa được sử dụng trong VBA để thêm/sửa đổi/xóa các đối tượng FormatCondition vào bộ sưu tập. Một đối tượng FormatCondition đại diện cho mỗi định dạng. FormatConditions là một thuộc tính của đối tượng Range và Thêm các tham số sau với cú pháp bên dưới FormatConditions.Add (Type, Operator, Formula1, Formula2) Cú pháp Thêm công thức có các đối số sau
điều kiện định dạng. Modify cũng có cú pháp tương tự như FormatConditions. Thêm vào Sau đây là danh sách một số giá trị/liệt kê mà một số tham số của 'Thêm'/'Sửa đổi' có thể nhận Ví dụ về định dạng có điều kiện VBADưới đây là các ví dụ về định dạng có điều kiện trong Excel VBA Bạn có thể tải xuống Mẫu định dạng có điều kiện VBA này tại đây - Ví dụ 1Chúng tôi có một tệp Excel chứa tên và điểm của một số học sinh. Chúng tôi muốn xác định/làm nổi bật các dấu là “Đậm” và “xanh”, lớn hơn 80. “Đậm” và “Đỏ” nhỏ hơn 50. Hãy cho chúng tôi xem dữ liệu chứa trong tệp Chúng tôi sử dụng FormatConditions. Thêm chức năng dưới đây để thực hiện điều này
Mã số Sub formatting() End Sub
Mã số Sub formatting() Dim rng As Range Dim condition1 As FormatCondition, condition2 As FormatCondition End Sub
Mã số Sub formatting() Dim rng As Range Dim condition1 As FormatCondition, condition2 As FormatCondition Set rng = Range("B2", "B11") End Sub
Mã số Sub formatting() Dim rng As Range Dim condition1 As FormatCondition, condition2 As FormatCondition Set rng = Range("B2", "B11") rng.FormatConditions.Delete End Sub
Mã số Sub formatting() Dim rng As Range Dim condition1 As FormatCondition, condition2 As FormatCondition Set rng = Range("B2", "B11") rng.FormatConditions.Delete Set condition1 = rng.FormatConditions.Add(xlCellValue, xlGreater, "=80") Set condition2 = rng.FormatConditions.Add(xlCellValue, xlLess, "=50") End Sub
Sao chép và dán mã này vào Mô-đun lớp VBA Mô-đun lớp VBANgười dùng có thể . Các đối tượng được tạo trong mô-đun này có thể được sử dụng trong bất kỳ dự án VBA nào. đọc thêm . Mã số Sub formatting() 'Definining the variables: Dim rng As Range Dim condition1 As FormatCondition, condition2 As FormatCondition 'Fixing/Setting the range on which conditional formatting is to be desired Set rng = Range("B2", "B11") 'To delete/clear any existing conditional formatting from the range rng.FormatConditions.Delete 'Defining and setting the criteria for each conditional format Set condition1 = rng.FormatConditions.Add(xlCellValue, xlGreater, "=80") Set condition2 = rng.FormatConditions.Add(xlCellValue, xlLess, "=50") 'Defining and setting the format to be applied for each condition With condition1 .Font.Color = vbBlue .Font.Bold = True End With With condition2 .Font.Color = vbRed .Font.Bold = True End With End Sub Bây giờ, khi chúng tôi chạy mã này bằng cách sử dụng phím F5 hoặc theo cách thủ công, chúng tôi thấy rằng các điểm nhỏ hơn 50 được đánh dấu bằng chữ đậm và màu đỏ, trong khi các điểm lớn hơn 80 được đánh dấu bằng chữ đậm và màu xanh lam như sau Ghi chú. Một số thuộc tính cho sự xuất hiện của các ô được định dạng mà chúng ta có thể sử dụng với FormatCondition là Ví dụ #2Hãy nói trong ví dụ trên. Chúng tôi có một cột khác nói rằng học sinh là 'Người đứng đầu' nếu họ đạt điểm trên 80. Khác, Pass / Fail bằng văn bản đối với họ. Bây giờ, chúng tôi muốn làm nổi bật các giá trị được nêu là 'Topper' là "Đậm" và "Xanh. ” Hãy cho chúng tôi xem dữ liệu có trong tệp Trong trường hợp này, mã/quy trình sẽ hoạt động như sau Mã số Sub TextFormatting() End Sub Xác định và đặt định dạng được áp dụng cho từng điều kiện Mã số Sub TextFormatting() With Range("c2:c11").FormatConditions.Add(xlTextString, TextOperator:=xlContains, String:="topper") With .Font .Bold = True .Color = vbBlue End With End With End Sub Chúng ta có thể thấy trong đoạn mã trên rằng chúng ta muốn kiểm tra xem phạm vi. ‘C2. C11″ chứa chuỗi. “Topper”, vì vậy tham số. “Onamestor” của ‘Định dạng. Add' lấy phép liệt kê. ” Xcontains” để kiểm tra điều kiện này trong phạm vi cố định (i. e. , C2. C11). Sau đó, thực hiện định dạng có điều kiện bắt buộc (thay đổi phông chữ) trên phạm vi này. Bây giờ khi chúng tôi chạy mã này theo cách thủ công hoặc bằng cách nhấn phím F5, chúng tôi sẽ thấy rằng các giá trị ô có 'Topper' được đánh dấu bằng màu xanh lam và in đậm Ghi chú. Trong hai ví dụ trên, chúng ta đã thấy phương thức ‘Add’ hoạt động như thế nào trong trường hợp có bất kỳ tiêu chí giá trị ô nào (chuỗi số hoặc văn bản) Dưới đây là một số trường hợp/tiêu chí khác mà chúng tôi có thể sử dụng để kiểm tra và do đó áp dụng định dạng có điều kiện VBA
Với các điều kiện khác nhau để kiểm tra, các giá trị/liệt kê khác nhau được thực hiện bởi các tham số của 'Add. ’ Những điều cần nhớ về định dạng có điều kiện VBA
Cells.FormatConditions.Delete Bài viết được đề xuấtBài viết này là hướng dẫn về Định dạng có điều kiện trong VBA. Ở đây, chúng ta tìm hiểu cách áp dụng định dạng có điều kiện cho một ô Excel bằng phương pháp Điều kiện định dạng trong VBA, các ví dụ thực tế và mẫu có thể tải xuống. Dưới đây bạn có thể tìm thấy một số bài viết VBA Excel hữu ích. – |