Nếu bạn và các đòng nghiệp cùng làm việc trên 1 file Excel thì việc nội dung thường được chỉnh sửa nhiều lần trong các khoảng thời gian khác nhau. Nhưng làm thế nào để quản lý, kiểm soát thông tin về thời gian tạo, chỉnh sửa file gần nhất? Cách đơn giản là tạo code VBA tự động ghi nhận thời gian dữ liệu được nhập vào file Excel, từ đó thời gian nhập liệu của tất cả nội dung đều được ghi lại và hiển thị ngay trong Excel. Hãy cùng Gitiho tìm hiểu cách làm trong bài viết này nhé!
Hàm NOW trong Excel có chức năng xác định thời điểm hiện tại, hàm NOW sẽ trả kết quả bao gồm cả ngày/tháng/năm và giờ/phút/giây theo thời gian thực. Cũng chính vì thế mà bất kỳ khi nào Excel thực hiện tính toán thì kết quả hàm NOW sẽ tự động thay đổi. Tuy nhiên, nhiệm vụ của chúng ta là ghi nhận thời điểm kết thúc nhập dữ liệu vào Excel, như vậy kết quả đó không được thay đổi.
Để xem xét thời gian kết thúc nhập dữ liệu bằng hàm NOW trong Excel bạn làm theo các bước sau:
Bước 1: Viết hàm NOW với cú pháp: =NOW()
Bước 2: Sao chép kết quả của hàm
Bước 3: Dán kết quả của hàm để hàm không tự động cập nhật.
Xem thêm: Làm thế nào dùng hàm NOW TODAY TIME trong VBA Excel
VBA như một vị cứu tinh để bạn không phải thực hiện những thao tác thủ công, bất tiện, mất thời gian như trên nữa. Với VBA tất cả sẽ được tự động hóa chỉ sau vài bước đơn giản:
Ví dụ bạn nhập liệu vào ô A3 và muốn nhận kết quả tại ô B3
Bước 1: Sử dụng hàm NOW trong VBA
Bạn nhập câu lệnh hàm NOW sau vào ô B3:
ActiveSheet.Range(“B3”).Value = Now
Bước 2: Gắn câu lệnh hàm NOW vào sự kiện trong VBA tức là gắn với sự kiện thay đổi dữ liệu trong ô A3.
- Trong VBA Excel có 2 loại sự kiện chính:
1. Sự kiện cho Workbook
Gồm nhiều đối tượng đa dạng thuộc các sự kiện xảy ra với 1 file Excel (Workbook) như chọn 1 file Excel, mở, đóng 1 file Excel, lưu 1 file Excel.
2. Sự kiện cho Worksheet
Là các sự kiện gắn liền đến 1 sheet trong file Excel (Worksheet trong Workbook), các đối tượng trong sự kiện Worksheet ít hơn trong Workbook, nó thường liên quan đến sự thay đổi trong tính toán, lựa chọn hay cập nhật dữ liệu trong sheet.
Xem thêm: Hướng dẫn tìm hiểu về ý nghĩa và cách dùng các sự kiện trong VBA Excel
Tiếp tục với ví dụ của chúng ta: Nếu bạn thay đổi dữ liệu tại ô A3 thuộc Sheet1 thì bạn phải thực hiện gọi sự kiện Worksheet_Change tại Sheet1 và gắn câu lệnh hàm NOW vào như sau:
- Tại cửa sổ Project, nháy đúp chuột vào Worksheet cần tọa sự kiện (Sheet1)
- Chọn Worksheet, sau đó chọn sự kiện Change
- Từ đó Sub Worksheet_Change được tạo tự động
- Tiếp theo bạn nhập đoạn mã VBA sau:
Trong đó:
If Not Application.Intersect(Range(“A3”), Target) Is Nothing Then
....
End If
- Xét xem tại ô A3 có xảy ra thay đổi dữ liệu không
ActiveSheet.Range(“B3”).Value = Now
- Gán kết quả hàm NOW vào ô B3
Bây giờ khi bạn nhập dữ liệu tại ô A3 trong Excel, kết quả sẽ tự động trả về ô B3.
Bước 3: Tối ưu phạm vi tác động của câu lệnh
Như vậy là bạn đã thực hiện thành công việc ghi nhận thời gian nhập dữ liệu tự động bằng VBA trên 1 ô tính trong Excel. Bây giờ chúng ta hãy thử áp dụng câu lệnh với 1 vùng rộng hơn từ A2 đến A100 hay cả cột A nhé!
Đoạn mã VBA để kết quả hàm NOW được trả về cột B với tất cả các ô cột A tương ứng được nhập dữ liệu như sau:
If Not Application.Intersect(Range(“A2:A100”), Target) Is Nothing Then
If Range(“A” & Target.Row).Value = “” Then
Range(“B” & Target.Row).ClearContents
Else
Range(“B” & Target.Row).Value = Now
End If
End If
Trong đó:
Kết quả:
Như bạn có thể thấy VBA giúp đỡ chúng ta rất nhiều trong quá trình tự động hóa công việc. Vậy nếu bạn đang muốn học VBA để tiết kiệm thời gian làm việc hơn thì có thể tham khảo một số khóa học sau tại Gitiho:
Ebook thư viện code mẫu VBA
G-LEARNING
Trong bài viết trên, Gitiho đã cùng bạn tìm hiểu về cách tự động ghi nhận thời gian nhập dữ liệu bằng VBA với ví dụ cụ thể. Như vậy là chỉ với vài mã code đơn giản trong VBA đã có thể tự hóa các thao tác Excel và tiết kiệm thời gian làm việc của mình rồi đó.
Hy vọng bạn đã hiểu rõ và áp dụng thành công cho công việc của mình. Đừng quên theo dõi chúng mình để xem thêm các bài viết bổ ích khác nhé!
Ngay bây giờ hãy cùng luyện tập thêm với bộ bài tập Excel có đáp án của Gitiho để nằm lòng tin học văn phòng nhé!
Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu biết thêm về VBA sẽ giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,…
Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập trong khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho
Hãy nhấn vào Học thử hoặc Đăng ký ngay!