Nguyên nhân chậm: Bạn tạo function mới trong VBA (UDF). Trong các cells chi tiết bạn dùng công thức mảng kết hợp với function này làm tạo ra rất nhiều vòng lặp lồng vào nhau. Bạn nên dùng VBA bắt sự kiện combo box để trích lọc trực tiếp dữ liệu vào bảng luôn thì sẽ tăng tốc rất nhiều.
Định hướng:
1. Gán TmpArr = vùng data.
2. Cho chạy i từ Lbound đến Ubound của TmpArr: so sánh các phần tử với giá trị combox, nếu thỏa thì add vào ResultArr.
3. Dán ResultArr vào bảng dữ liệu.