Có thể định dạng một cách có điều kiện một ô nếu ô chứa công thức (để cảnh báo bản thân tôi và những người dùng khác khi cập nhật ô)?
Có thể định dạng một cách có điều kiện một ô nếu ô chứa công thức (để cảnh báo bản thân tôi và những người dùng khác khi cập nhật ô)?
Câu trả lời:
Bạn có thể sử dụng định dạng có điều kiện để thực hiện việc này bằng cách sử dụng Tên XLM và Phạm vi
Tôi có một bài viết dài hơn về Sử dụng XLM với Tên Phạm vi và Định dạng có điều kiện để tự động định dạng bảng tính theo nội dung ô
xlm
mà không có bất kỳ cảnh báo vĩ mô nào, MSFT đã thay đổi phương pháp bảo mật.
Dựa trên câu trả lời của brettdj, vì tôi thấy bài viết được liên kết khá khó theo dõi:
=ISFORMULA(INDIRECT("rc",FALSE))
$1:$1048576
dưới dạng phạm vi áp dụng. Nếu không, bạn có thể nhập bất kỳ phạm vi.Công thức INDIRECT("rc",FALSE)
trả về tham chiếu của ô hiện tại. Nếu tôi từng sử dụng cái này trong một tờ, tôi tạo ra một Tên xác định được gọi là một cái gì đó giống như ThisCell
và sử dụng nó trong công thức, chỉ trong trường hợp tôi trở lại nhiều năm sau đó và nghĩ "cái quái này để làm gì?".
INDIRECT("rc",FALSE)
, hãy sử dụng tham chiếu tương đối với ô trên cùng bên trái trong phạm vi "Áp dụng cho" định dạng có điều kiện của bạn. Ví dụ: nếu phạm vi "Áp dụng cho" của bạn là =$A$3:$F$300
, thì hãy sử dụng =ISFORMULA(A3)
. Điều này hoạt động vì định dạng có điều kiện hỗ trợ tham chiếu tương đối, hãy xem điều này
Bạn có thể thử những điều sau:
Tạo một chức năng tùy chỉnh với mã sau đây:
Function IsFormula(ByVal Ref As Range) As Variant
If Ref.Cells.Count > 1 Then
IsFormula = CVErr(xlErrNA)
Else
IsFormula = Ref.HasFormula
End If
End Function
Thí dụ:
Để kiểm tra xem có bất kỳ ô nào trong cột A có bất kỳ công thức nào không:
=IsFormula(A1)
Có một cách rất đơn giản để làm điều này, đã được thử nghiệm trong Excel 2016.
Làm nổi bật phạm vi của bạn mà bạn muốn áp dụng, hãy nói từ A3:W20
. Đi vào định dạng có điều kiện và chọn NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
.
Đặt vào =isformula(A3)
và chọn định dạng bạn muốn áp dụng.
A3
rõ ràng là một tham chiếu đến ô đầu tiên trong phạm vi của bạn nhưng định dạng này sau đó áp dụng cho tất cả. Kết quả là trong phạm vi của bạn, bất kỳ ô nào là công thức đều được định dạng có điều kiện.
Các trang trợ giúp mới hơn đề xuất Chức năng do người dùng xác định:
Function IsFormula(cell) as boolean
IsFormula = cell.HasFormula
End Function
Sau đó sử dụng chức năng đó như điều kiện của bạn
Và trên thực tế, Excel 2013 trở lên có IsFormula
chức năng chuẩn.
Bạn cũng có thể sử dụng định dạng có điều kiện:
=HasNoFormula
Đã thử nghiệm bằng Excel 2010.