Chào mọi người,
Mình có một vấn đề nhỏ trong quá trình làm việc với file Excel. Đôi khi mình cần theo dõi xem dữ liệu nào được sửa đổi lần cuối vào lúc nào, nhưng việc ghi chép thủ công rất dễ sai sót và tốn thời gian.
Hôm nay mình muốn chia sẻ một mẹo nhỏ mà mình mới tìm ra để tự động cập nhật ngày giờ sửa đổi cuối cùng cho một ô hoặc một vùng dữ liệu. Cách này khá đơn giản và hữu ích cho việc quản lý dữ liệu.
Cách làm:
Chúng ta sẽ sử dụng kết hợp giữa một ô tham chiếu và một chút VBA (Macro). Đầu tiên, bạn cần chọn một ô trống trên Sheet (ví dụ: ô Z1) để lưu ngày giờ cập nhật. Sau đó, bạn nhấn Alt + F11 để mở cửa sổ VBA Editor.
Trong cửa sổ VBA Editor, bạn vào Insert -> Module và dán đoạn code sau vào:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WatchRange As Range
Dim ReferenceCell As Range
' --- Cài đặt ---
' Thay đổi "Sheet1" thành tên Sheet của bạn nếu cần
Set WatchRange = ThisWorkbook.Sheets("Sheet1").Range("A1:D10") ' Vùng dữ liệu bạn muốn theo dõi
Set ReferenceCell = ThisWorkbook.Sheets("Sheet1").Range("Z1") ' Ô chứa ngày giờ cập nhật
' ----------------
If Not Intersect(Target, WatchRange) Is Nothing Then
Application.EnableEvents = False
ReferenceCell.Value = Now
Application.EnableEvents = True
End If
End SubLưu ý:
- Bạn cần thay
"Sheet1"bằng tên Sheet thực tế của bạn. - Thay
Range("A1:D10")bằng vùng dữ liệu bạn muốn theo dõi sự thay đổi. - Thay
Range("Z1")bằng ô bạn đã chọn để hiển thị ngày giờ.
Sau khi dán code, bạn lưu file Excel dưới dạng .xlsm (Macro-Enabled Workbook).
Bây giờ, mỗi khi bạn thay đổi bất kỳ dữ liệu nào trong vùng WatchRange, ô ReferenceCell sẽ tự động cập nhật ngày giờ hiện tại. Điều này giúp bạn biết lần cuối cùng dữ liệu đó được chỉnh sửa là khi nào.
Hy vọng mẹo nhỏ này hữu ích với mọi người!