Làm thế nào để ghi ngày và giờ tự động khi ô thay đổi?
Chúng tôi dễ dàng chèn ngày và giờ tĩnh theo cách thủ công hoặc chèn ngày động thay đổi theo giờ hệ thống bằng một công thức. Nếu bạn muốn tự động ghi lại ngày và giờ khi bạn thay đổi hoặc nhập giá trị, vấn đề này có thể hơi khác để giải quyết. Tuy nhiên, trong bài viết này, bạn có thể giải quyết công việc này bằng các bước sau.
Ghi lại ngày và giờ tự động khi ô thay đổi với mã VBA
Ghi lại ngày và giờ tự động khi ô thay đổi với mã VBA
Ví dụ: tôi có một phạm vi giá trị và bây giờ, khi tôi thay đổi hoặc nhập giá trị mới vào Cột B, tôi muốn nó sẽ tự động ghi lại ngày và giờ hiện tại trong Cột C như ảnh chụp màn hình sau:
Bạn có thể hoàn thành tác vụ này với mã VBA sau. Vui lòng làm như sau:
1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.
2. Sau đó, chọn trang tính đã sử dụng của bạn từ bên trái Trình khám phá dự án, nhấp đúp vào nó để mở Mô-đun, sau đó sao chép và dán mã VBA sau vào Mô-đun trống:
Mã VBA: Ghi ngày và giờ tự động khi ô thay đổi
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. Sau đó lưu và đóng đoạn mã này để quay lại trang tính, lúc này khi bạn thay đổi giá trị ô hoặc nhập dữ liệu mới vào Cột B, ngày và giờ sẽ được tự động ghi lại trong Cột C.
Ghi chú:
1. Trong đoạn mã trên, bạn có thể sửa đổi “B: B”Vào bất kỳ cột nào khác mà bạn muốn thay đổi giá trị ô trong tập lệnh này: Đặt WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. Với cái này xOffsetCột = 1 script, bạn có thể chèn và cập nhật ngày và giờ vào cột đầu tiên bên cạnh cột giá trị thay đổi của bạn, bạn có thể thay đổi số 1 thành các số khác, chẳng hạn như 2,3,4,5… có nghĩa là ngày sẽ được chèn cột thứ hai, thứ ba, thứ tư hoặc thứ năm bên cạnh cột giá trị đã thay đổi của bạn.
3. Khi bạn xóa một giá trị trong cột đã thay đổi, ngày và giờ cũng sẽ bị xóa.
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!