Ở bài học trước, chúng ta đã tìm hiểu về việc sử dụng chức năng Sort để sắp xếp thứ tự dữ liệu trong Excel.
Xem lại bài học tại: Sắp xếp dữ liệu theo nhiều điều kiện trong Excel
Trong bài này, hocexcel.online sẽ giúp các bạn ứng dụng tính năng này vào VBA để giúp chúng ta có thể tự động sắp xếp lại dữ liệu mỗi khi nhập thêm dữ liệu mới vào bảng. Chúng ta tìm hiểu bài học này thông qua bài tập ví dụ sau:
Xem nhanh
Cho bảng dữ liệu sau:
Yêu cầu: Nhập dữ liệu vào vùng I2:M2, sau đó ấn vào nút mũi tên để lưu dữ liệu vào bảng dữ liệu A1:F28. Khi lưu dữ liệu vào bảng thì đồng thời:
Tại tab Developer, chọn chức năng Record Macro
Thực hiện thao tác lọc dữ liệu trong bảng A1:F28
Sau khi thực hiện thao tác trên, chúng ta có được dòng lệnh Macro như sau:
Chúng ta có thể nhập dữ liệu bất kỳ ở vùng này
Ví dụ như sau:
Căn cứ theo yêu cầu của đề bài, chúng ta có thể xác định được trình tự lưu dữ liệu bao gồm:
Chúng ta mở cửa sổ VBA và tạo Sub Lưu dữ liệu như sau:
Sử dụng dấu nháy đơn để giúp chúng ta có thể ghi chú nội dung, giúp khi viết và đọc Code trong VBA sẽ dễ hơn
Code Lưu dữ liệu vào Bảng:
Dim DongCuoi As Long
DongCuoi = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheet1.Range(“A” & DongCuoi & “:” & “F” & DongCuoi).Value = Sheet1.Range(“I2:N2”).Value
Code xóa dữ liệu ở vùng nhập mới (lưu ý là ô M2 có chứa công thức = Đơn giá * Số lượng, vì vậy chúng ta không cần xóa công thức này)
Sheet1.Range(“I2:M2”).ClearContents
Code sắp xếp dữ liệu: chúng ta gọi Macro sắp xếp đã thu được ở trên
Call Macro3
Lưu ý: nếu chúng ta đổi tên Macro3 thì phải đổi ở Sub Macro3 => Khi đó dòng lệnh Call sẽ gọi tên đã được đổi
* Kết quả dòng lệnh như sau:
Dòng tô màu vàng chính là dòng dữ liệu mà chúng ta vừa thêm mới vào bảng.
Các bạn có thể thấy là dòng này sau khi thêm đã được tự động sắp xếp theo thứ tự vào trong bảng, chứ không phải xuất hiện ở cuối bảng như thông thường.
Như vậy là chúng ta đã hoàn thành được yêu cầu của đề bài rồi. Nội dung này được ứng dụng rất nhiều trong việc quản lý dữ liệu, nhất là những dữ liệu lớn, cần sắp xếp theo nhiều điều kiện: thời gian, phân nhóm …
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: