Tôi đã nhìn thấy nhiều người dùng đặt câu hỏi cố gắng thay đổi màu của ô bằng cách sử dụng chức năng do người dùng định nghĩa. Tôi đã luôn luôn ấn tượng rằng nó không thể làm như vậy. Sự hiểu biết của tôi là một hàm do người dùng định nghĩa không thể thay đổi bất kỳ thuộc tính nào của một ô ngoại trừ giá trị của ô chứa công thức. Subs là những gì thay đổi các tế bào mình.Chức năng do người dùng định nghĩa để thay đổi màu của ô
Tuy nhiên, khi chơi xung quanh với một số mã để kiểm tra điều này, tôi thấy rằng nó không phải luôn luôn như vậy.
Sử dụng mã đơn giản:
Function ColorCell(rng As Range)
If rng.Value = 1 Then
ColorCell = False
Else
ColorCell = True
rng.Interior.ColorIndex = 3
End If
End Function
Nếu tôi nhập vào chức năng vào phòng giam, tôi đạt được kết quả mong đợi, không có tế bào thay đổi màu sắc. Tuy nhiên, nếu tôi sử dụng nút Công thức> Chèn hàm và điều hướng đến công thức của tôi để chèn công thức theo cách này, nó làm tô màu các ô được nhắm mục tiêu.
Làm thế nào điều này có thể và tại sao chức năng hoạt động khác khi được nhập theo các cách khác nhau?
EDIT: này đã được thử nghiệm sử dụng Excel 2007
Tôi không biết câu trả lời cho điều này, nhưng lưu ý rằng nếu bạn thay đổi giá trị ô, nó sẽ không thay đổi màu ngay cả trong trường hợp đáy. Vì vậy, nếu bạn thay đổi ô A11 thành 1 ô vẫn còn màu đỏ. – OpiesDad
Đúng, không có bản cập nhật nào của chính hàm đó. Ngoại trừ nếu bạn quay trở lại và sử dụng lại "Insert Function", nó * sẽ * cập nhật giá trị/màu sắc. – TMH8885
'Tôi thấy rằng nó không phải luôn luôn như vậy.' Đúng :) Bạn đã thấy [This] (http://stackoverflow.com/questions/23433096/using-a-udf-in-excel-to-update-the- worksheet) –