Kimberly tự hỏi liệu có công thức nào mà cô ấy có thể sử dụng để đưa vào ô ngày sổ làm việc được lưu lần cuối hay không. Ngay cả khi cô ấy mở sổ làm việc mỗi ngày, cô ấy chỉ muốn ngày được cập nhật mỗi khi cô ấy chọn lưu.

Không có công thức để làm điều này; Excel không có khả năng gốc. Tuy nhiên, bạn có thể tạo một macro đơn giản sẽ gắn một giá trị ngày tháng vào một ô bất cứ khi nào bạn lưu sổ làm việc. Điều này dựa trên sự kiện BeforeSave, thuộc đối tượng ThisWorkbook:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)



Sheets(1).Range("A1").Value = Now()

End Sub

Macro này đặt ngày (trên thực tế, giá trị được trả về bởi hàm Now) vào ô A1 của trang tính đầu tiên trong sổ làm việc. Ô đó phải được định dạng trong Excel theo bất kỳ định dạng nào bạn muốn. Có một nhược điểm tiềm ẩn đối với macro này — nếu bạn sử dụng Save As (để lưu sổ làm việc dưới một tên khác) và sau đó chọn hủy lưu, ngày vẫn được cập nhật vì nó đã diễn ra before the save — nghĩa là, nó đã diễn ra giống như Excel đang bắt đầu lưu sổ làm việc, không phải sau khi sổ làm việc thực sự được lưu.

Cần lưu ý rằng Excel cũng bao gồm một sự kiện AfterSave mà bạn có thể muốn sử dụng để cập nhật thông tin. Thật không may, nó cũng có một vài sơ hở và không cung cấp gì dễ hiểu hơn sự kiện BeforeSave.

Nếu muốn, bạn có thể sử dụng một cách tiếp cận dựa trên macro hơi khác.

Cái này dựa vào macro thông thường, không phải trình xử lý sự kiện:

Function LastModified() As Date     Application.Volatile     LastModified = ThisWorkbook.BuiltinDocumentProperties("Last Save Time")

End Function

Trong bất kỳ ô nào bạn muốn ngày xuất hiện, bạn sẽ gọi macro theo cách này:

=LastModified()

Công thức trả về ngày và thời gian sổ làm việc được lưu lần cuối và bạn có thể định dạng nó theo bất kỳ cách nào bạn muốn. Vì hàm được lưu ý là dễ bay hơi nên nó được cập nhật liên tục, bất cứ khi nào trang tính được tính toán lại.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (13575) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.