Trong Excel, các hàm NOW
, TODAY
và TIME
giúp lấy giá trị thời gian thực. Tuy nhiên, việc sử dụng chúng khiến Excel phải liên tục tính toán lại, ảnh hưởng đến hiệu suất. Bài viết này sẽ hướng dẫn bạn cách sử dụng VBA để lấy giá trị thời gian cố định, tối ưu hóa hiệu suất làm việc với Excel.
Bạn muốn tìm hiểu thêm về hàm NOW
, DATE
và TIME
? Hãy xem bài viết: Định dạng thời gian trong Excel & cách sử dụng hàm NOW và TIME để chèn thời gian
Thay Thế Hàm NOW bằng VBA
Hàm =NOW()
trong Excel trả về giá trị thời gian thực, bao gồm ngày, tháng, năm, giờ, phút và giây.
Ví dụ về hàm NOW trong Excel
Giá trị này sẽ thay đổi mỗi khi bạn thực hiện bất kỳ thao tác nào trong Excel.
Hàm NOW tự động cập nhật
Để tránh điều này, hãy sử dụng VBA với đoạn mã sau:
Mã VBA thay thế hàm NOW
Đoạn mã NowByVBA
sẽ gán giá trị thời gian hiện tại vào ô B3 của Sheet1. Khác với hàm NOW()
, giá trị này chỉ được cập nhật khi macro được chạy, giúp tiết kiệm tài nguyên hệ thống.
Thay Thế Hàm TODAY bằng VBA
Hàm TODAY()
trả về ngày tháng năm hiện tại.
Ví dụ về hàm TODAY trong Excel
Trong VBA, sử dụng đối tượng DATE
để thay thế:
Mã VBA thay thế hàm TODAY
Macro TodayByVBA
gán giá trị ngày hiện tại vào ô B5 của Sheet1. Tương tự như NowByVBA
, giá trị này chỉ thay đổi khi macro được kích hoạt.
Lấy Giờ Hiện Tại với VBA
Excel không có hàm riêng để lấy giá trị giờ:phút:giây. Thông thường, bạn phải kết hợp NOW()
với HOUR
, MINUTE
, SECOND
.
Ví dụ về cách lấy giờ hiện tại trong Excel
VBA đơn giản hóa việc này với đoạn mã sau:
Mã VBA lấy giờ hiện tại
Kết Luận
Ba đoạn mã VBA trên giúp thay thế các hàm NOW
, TODAY
và TIME
, lấy giá trị thời gian cố định, tối ưu hóa hiệu suất cho file Excel của bạn. Việc sử dụng VBA giúp giảm thiểu các công thức động, tăng tốc độ xử lý dữ liệu.
Bạn muốn tìm hiểu thêm về các thủ thuật liên quan đến thời gian trong Excel? Hãy tham khảo các bài viết sau:
Discussion about this post