Tô màu ô thay đổi nội dung

Liên hệ QC

kien0707

Thành viên mới
Tham gia
15/5/18
Bài viết
7
Được thích
0
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à ạ
 
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à ạ
Đính kèm file nha bạn
 
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?
 
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?

Nhập vào ô rỗng cũng coi là thay đổi nội dung ạ. Chỉ cần dữ liệu nhập vào khác với dữ liệu ban đầu là ô tự động highlight lên ạ
Bài đã được tự động gộp:

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 ạ
 
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.
 
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.

Cái này là do em nghĩ ra để quản lý file của mình ạ. Mỗi ô độc lập với nhau, không có liên quan đến ô khác. Chỉ highlight ô mình thay đổi nội dung 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ò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
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

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 ạ?
 
Lần chỉnh sửa cuối:
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 này ổn nhất đó bạn:
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.
 
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:
Mở file lên, code workbook open chạy copy sheet ra một sheet mới, sau đó ẩn sheet đó đi
Code trong sheet là workbook change, nếu giá trị ô đó khác giá trị cùng ô (nhưng ở sheet mới-đã ẩn) thì tô màu, không thì thôi.
 
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à ạ
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ảo

 
Có chơi chèn/ xóa dòng/ cột không :D
 
Web KT

Bài viết mới nhất

Back
Top Bottom