Hướng dẫn cách sử dụng Autofilter giữa các khoảng thời gian trong VBA

Chia sẻ bởi:api_publisher
★★★★★
Quảng cáo

Tóm tắt: Hướng dẫn thực hành Excel, trình bày theo từng bước, có công thức mẫu và lưu ý áp dụng nhanh trong công việc.

Việc sử dụng AutoFilter với điều kiện là ngày tháng trong VBA có thể khiến bạn gặp một số khó khăn. Nó xuất phát bởi quy ước về cách thể hiện giá trị thời gian khác nhau:

  • Người Việt Nam thường dùng quy ước ngày tháng theo kiểu “Ngày-Tháng-Năm”, đây là hệ ngày tháng kiểu Pháp
  • VBA dùng mặc định quy ước ngày tháng theo kiểu “Tháng-Ngày-Năm”, đây là kiểu Anh-Mỹ

Do đó trong một số trường hợp sử dụng AutoFilter với điều kiện liên quan tới ngày tháng, Excel VBA sẽ hiểu sai về điều kiện chúng ta sử dụng trong câu lệnh AutoFilter, dẫn tới kết quả không như chúng ta mong muốn.

Ví dụ về lỗi thường gặp với AutoFilter với dữ liệu ngày tháng:

* Dòng lệnh được tạo bởi chức năng Record Macro như sau:

Hướng dẫn cách sử dụng Autofilter giữa các khoảng thời gian trong VBA

Nhưng khi chạy lại đoạn Macro trên thì sẽ không thu được kết quả:

Hướng dẫn cách sử dụng Autofilter giữa các khoảng thời gian trong VBA

Để khắc phục lỗi này chúng ta làm như sau:

Bước 1: Đưa dữ liệu cần lọc vào 1 vị trí nhất định, gán biến cho vị trí ngày là dạng dữ liệu ‘Long’

  • Đặt 2 giá trị Từ ngày vào ô C1, Đến ngày vào ô D1
  • Gán 2 biến Từ ngày và Đến ngày liên kết tới nội dung ở ô C1, D1.

Bước 2: Lọc theo điều kiện ngày tháng đã được gán theo biến

Điều kiện lọc gồm 2 điều kiện:

  • Điều kiện 1 là >= Từ ngày
  • Điều kiện 2 là <= Đến ngày

Chúng ta có thể xem kết quả như sau:

Hướng dẫn cách sử dụng Autofilter giữa các khoảng thời gian trong VBA

* Lưu ý: loại dữ liệu của biến phải là loại dữ liệu kiểu số. Đây là kiểu dữ liệu mặc định của dữ liệu ngày tháng, do đó AutoFilter của Excel sẽ luôn hoạt động đúng cho dù loại ngày là dạng “dd/mm/yyyy” hay là dạng “mm/dd/yyyy”

Với dữ liệu dạng ngày đơn lẻ (chỉ 1 ngày) có thể dùng 2 cách:

  • Cách 1: Dùng duy nhất 1 điều kiện bằng với ngày được chọn
  • Cách 2: Dùng 2 điều kiện ngày:

Điều kiện 1 >= Ngày được chọn Điều kiện 2 <= Ngày được chọn

Hướng dẫn cách sử dụng Autofilter giữa các khoảng thời gian trong VBA

VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook… giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp…

Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống SprinGo. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại:

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm