Đính kèm file nha bạnCả nhà cho em hỏi với ạ
Em có 1 bảng dữ liệu cần quản lý các điểm thay đổi
vì vậy khi bất kì ô nào thay đổi nội dung nó sẽ tự động highlight lên
Vậy phải làm thế nào ạ
Em cảm ơn cả nhà ạ
1.Nhập dữ liệu vào ô rỗng có được coi là thay đổi nội dung không?Cả nhà cho em hỏi với ạ
Em có 1 bảng dữ liệu cần quản lý các điểm thay đổi
vì vậy khi bất kì ô nào thay đổi nội dung nó sẽ tự động highlight lên
Vậy phải làm thế nào ạ
Em cảm ơn cả nhà ạ
1.Nhập dữ liệu vào ô rỗng có được coi là thay đổi nội dung không?
2.Nếu nhập sai, sửa lại có được coi là thay đổi nội dung không?
Hiện tại công ty mình không được gửi file ra ngoài nên mình không gửi lên đây được ạĐính kèm file nha bạn
Cái này bạn đã thấy ai làm chưa?
Nếu thấy rồi thì cần quan sát và nói rõ ra nó hoạt động ra sao.
Nếu bạn chỉ nghĩ ra chứ chưa hề thấy thì tôi cảnh báo là nó rấtb rắc rối chứ không giản dị như bạn nghĩ.
1. Chỉ highlight ô được chỉnh hay cả những ô liên liên quan (truy cứu) đến nó. Và nếu có thì chỉ highlight những ô có trị mới hay tất cả?
2. Mỗi lần thay đổi 1 ô thì có tắt các ô đã highlighted trước đây hay không?
Nếu không thì sau một thời gian, bảng tính của bạn sẽ có một đống highlights.
Nếu có thì cứ gõ lia lịa là highlights sẽ nhảy tùm lum. Một hồi hết mò luôn.
Chỉ ở 1 vùng giới hạn thôi ạNhững ô cần "theo dõi" chúng nằm ở 1 vùng giới hạn, vd. B5:K45, hay có thể ở bất kỳ đâu trên sheet, vd. ở AAA100000?
Có nhiều cách làm, cách dễ nhất là copy sheet cũ dán lên sheet mới, rồi ẩn sheet mới .Mọi thay đổi trên sheet cũ so với sheet ẩn sẽ tô màu.Chỉ ở 1 vùng giới hạn thôi ạ
Option Explicit
Dim oVal
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Dim old_value As String
Dim new_value As String
Set Rng = Range("A1:Z100")
If Not Intersect(Target, Rng) Is Nothing Then
new_value = Target.Value
old_value = oVal
End If
If old_value <> new_value Then Target.Interior.Color = vbRed
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
oVal = Target.Value
End Sub
Người ta copy rồi dán thì sao? Hahaha ...Còn nhiều hạn chế nhưng cứ góp ý trước rồi nhờ các bác chỉnh sau:
PHP:Option Explicit Dim oVal Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range Dim old_value As String Dim new_value As String Set Rng = Range("A1:Z100") If Not Intersect(Target, Rng) Is Nothing Then new_value = Target.Value old_value = oVal End If If old_value <> new_value Then Target.Interior.Color = vbRed End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) oVal = Target.Value End Sub
Còn nhiều hạn chế nhưng cứ góp ý trước rồi nhờ các bác chỉnh sau:
PHP:Option Explicit Dim oVal Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range Dim old_value As String Dim new_value As String Set Rng = Range("A1:Z100") If Not Intersect(Target, Rng) Is Nothing Then new_value = Target.Value old_value = oVal End If If old_value <> new_value Then Target.Interior.Color = vbRed End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) oVal = Target.Value End Sub
Cách này ổn nhất đó bạn:Gần được rồi bác ơi. Chỉ có lỗi là nếu copy và dán 2 ô trở lên sẽ báo lỗi.Có cách nào cải tiến thêm phần nếu nhập lại giá trị cũ thì nó không highlight ô đấy nữa nữa không ạ?
cách dễ nhất là copy sheet cũ dán lên sheet mới, rồi ẩn sheet mới .Mọi thay đổi trên sheet cũ so với sheet ẩn sẽ tô màu.
Excel lưu giá trị cũ ở đâu để so sánh?Có cách nào cải tiến thêm phần nếu nhập lại giá trị cũ thì nó không highlight ô đấy nữa nữa không ạ?
Bạn hướng dẫn chi tiết được không ạ?Có nhiều cách làm, cách dễ nhất là copy sheet cũ dán lên sheet mới, rồi ẩn sheet mới .Mọi thay đổi trên sheet cũ so với sheet ẩn sẽ tô màu.
Xem file đính kèm.Bạn hướng dẫn chi tiết được không ạ?
Trong lúc chờ đợi bác ấy thì mình nói ý tưởng như này được không nha:Bạn hướng dẫn chi tiết được không ạ?
Vì bài viết của bạn không đầy đủ dữ kiện để thực hiện, vì vậy tôi đã có một bài viết mới để bạn có thể tham khảoCả nhà cho em hỏi với ạ
Em có 1 bảng dữ liệu cần quản lý các điểm thay đổi
vì vậy khi bất kì ô nào thay đổi nội dung nó sẽ tự động highlight lên
Vậy phải làm thế nào ạ
Em cảm ơn cả nhà ạ
Xem file đính kèm.