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 viết này:
  •  
  •  
  •  
  •  
  •  
  •  
  •   
  •   

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:

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

Để 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:

 

* 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”

Bằng việc thấu hiểu rằng hầu hết nhân viên văn phòng thường mất nhiều thời gian tra cứu cách sử dụng các hàm, các tính năng trong Excel, gặp khó khăn trong lồng ghép hàm, xử lý dữ liệu, công việc bận rộn không có thời gian học. Nên Học Excel Online đã thiết kế ra chương trình Excel từ cơ bản tới nâng cao dành cho người đi làm. Đây là chương trình học online, học viên có thể chủ động học mọi lúc mọi nơi, trao đổi trực tiếp với giảng viên tại bài giảng trong suốt quá trình học.

Với khoá học này học viên sẽ nắm được: :

  • Trọn bộ công cụ định dạng báo cáo chuyên nghiệp: Format, Cell, Number, Style,...không mất thời gian cả ngày ngồi sửa báo cáo
  • Toàn bộ kỹ năng lọc dữ liệu, lọc dữ liệu nâng cao trong Excel phục vụ cho mục đích trích xuất dữ liệu
  • Data Validation kiểm soát dữ liệu khi nhập vào một vùng trong bảng tính
  • TẤT TẦN TẬT hơn 100 hàm thông dụng, công thức mảng trong Excel, học tới đâu nhớ tới đó
  • Bộ 36 PHÍM TẮT giúp thao tác nhanh gấp đôi
  • BÁO CÁO SIÊU TỐC trong 1 phút với Pivot Table
  • Hỏi đáp trực tiếp tại bài giảng với giảng viên trong suốt quá trình học
  • CHUYÊN NGHIỆP trong báo cáo bằng Biểu đồ, đồ thị,....
  • 142+ bài giảng, 13+ giờ học, 200+ ví dụ thực tế cùng chuyên gia
  • 100+ Kỹ năng, thủ thuật Excel thông dụng với các hàm: SUMIF, HLOOKUP, VLOOKUP, DATEDIF…

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

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 Học Excel Online. 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:


Chia sẻ bài viết này:
  •  
  •  
  •  
  •  
  •  
  •  
  •   
  •