Tự động hóa Excel bằng Power Query thay cho VBA

Nếu bạn đã từng nghe đến công cụ VBA hay còn gọi là Macro – một ngôn ngữ lập trình trong Excel được sử dụng vô cùng phổ biến trong 20 năm qua. VBA như là một công cụ đắc lực giúp người dùng tự động hóa báo cáo trên Excel.

Tuy nhiên, từ năm 2010 Microsoft đã phát triển thêm một tính năng mới đó là Power Query. Một tính năng giúp người dùng dễ dàng sử dụng để tự động hóa báo cáo trên Excel. Vậy làm cách nào để tự động hóa Excel bằng Power Query thay cho VBA.

Xem thêm: Tổng hợp thủ thuật trong excel hữu ích bạn nên biết

Tự động hóa Excel bằng VBA

Excel VBA (Visual Basic for Application trên Excel) là ngôn ngữ lập trình được sử dụng để thực hiện các thao tác và chức năng có thể làm được trên Excel hướng tới những người dùng có khả năng sử dụng ngôn ngữ lập trình. Là một ngôn ngữ lập trình, chỉ cần thao tác có thể thực hiện trên Excel, mọi người có thể viết chương trình để thực hiện.

Chính vì điểm đặc biệt này mà phạm vi ứng dụng của VBA rộng hơn rất nhiều và được gọi là ngôn ngữ lập trình cho các mọi mục đích chung (General Purpose). Ví dụ cụ thể là mọi người có nhu cầu cụ thể như:

  • Điền một loạt các giá trị trên dòng mà mọi người chọn vào các vị trí khác nhau trong một mẫu biểu.
  • Tạo ra một file excel mới, sao chép một mẫu biểu điền sẵn vào, tùy chỉnh định dạng đẹp lên rồi lưu lại và gửi email đi đến đối tượng đã cài đặt sẵn.
  • Mở tất cả các file excel có pivot table và thực hiện hành động refresh hàng loạt vào giờ hẹn trước.

Tuy nhiên, có một vấn đề đó chính là bản chất VBA là một ngôn ngữ lập trình, do đó khả năng tiếp cận của VBA đối với người dùng khá thấp. Mặc dù bạn cố gắng học và áp dụng, tuy nhiên nếu chỉ sau 1 tháng không sử dụng bạn có thể quên cách viết code như thế nào.

Mình cũng đã dạy VBA trong một thời gian khá dài dưới dạng những khóa học 10 tiếng và phần lớn học viên học xong đều không thể ứng dụng được ngay vào vấn đề của họ chỉ đơn giản là vì họ đang cố gắng dùng VBA để giải quyết các vấn đề mà Power Query được tạo ra để làm.

Thêm vào đó là sau 7 ngày thì họ gần như quên hết những gì đã học vì đặc thù của việc viết chương trình máy tính rất khác so với những công việc hằng ngày mà mọi người làm, nó thiên về các bạn có nền tảng IT nhiều hơn.

Chỉ có một số ít học viên hiểu rõ học VBA để làm gì và thực sự dùng để giải quyết đúng vấn đề mà Power Query không làm được. Nói một cách ngắn gọn, VBA làm được rất nhiều thứ khi và chỉ khi mọi người nghiên cứu (không chỉ là học) đủ sâu để có thể viết chương trình máy tính.

Không thể phủ nhận những giá trị mà VBA đem lại cho người dùng. Nhưng là một người sử dụng thông minh, chúng ta có thể sử dụng những sản phẩm hỗ trợ khác có công dụng tương đương. Đó chính là sử dụng Power Query cho mục đích tự động hóa file Excel thay vì phải viết code VBA.

Xem thêm: Cách Copy Giữ Nguyên Giá Trị Trong Excel

Tự động hóa Excel bằng Power Query

Đầu tiên, một cách tổng quan thì Power Query là một tập hợp rất nhiều tính năng chuyên dụng cho mục đích xử lý dữ liệu một cách tự động hoàn toàn hướng tới những người dùng không có khả năng sử dụng ngôn ngữ lập trình như VBA hay SQL.

Như vậy, điểm khác biệt lớn nhất đầu tiên chính là lí do tồn tại của bản thân chức năng này trên Excel. Một cái được xây dựng nhắm cụ thể vào đối tượng hoàn toàn không viết được code, những người nhân viên kinh doanh, admin văn phòng, chuyên viên phân tích kinh doanh, kế toán tổng hợp, hoặc bất kỳ ai hay phải thực hiện các hành động trên Excel hàng ngày.

Power Query được xây dựng để cho phép bất kỳ ai nếu không thể học/ tiếp cận được với VBA vẫn có thể viết được chương trình máy tính tự động thực hiện các hành vi trên Excel cho mình một cách dễ dàng.

Điểm khác biệt kế tiếp chính là mục đích sử dụng. Để đơn giản hóa, khi mọi người có vấn đề cần giải quyết cụ thể như:

  • Tự động cập nhập dữ liệu từ nhiều file excel thành 1 file excel duy nhất, lấy dữ liệu từ nhiều file excel
  • Copy dữ liệu từ sheet này sang sheet khác
  • Tách giá trị hoặc chuỗi của một cột thành nhiều cột, lấy một phần giá trị trong cột, tách tất cả giá trị trong cột thành nhiều cột dựa theo dấu hiệu phân cách. Tất cả các mục tiêu tương tự như này đều gọi là chia tách dữ liệu.
  • Thêm một cột để tính toán giá trị từ một cột khác có sẵn, cột mới thường dùng để viết công thức trung gian nhưng không cần thiết giữ lại.
  • Tham chiếu dữ liệu giữa các sheet trong excel
  • Loại bỏ các giá trị trùng nhau một cách tự động
  • Và nhiều trường hợp các có thể tự động hóa, giải quyết được trên Power Query mà dùng excel thông thường không thể làm được.

Power Query được tạo ra nhằm vào các vấn đề cụ thể như trên. Mọi người có thể đạt được mục tiêu chỉ với vài thao tác bấm đơn giản. Có một câu hỏi khác đó là VBA có thể làm được như vậy không? Câu trả lời là có! Là một ngôn ngữ lập trình, chỉ cần thao tác của bạn có thể thực hiện trên Excel thì đều có thể viết chương trình để thực hiện.

Tuy nhiên, để thực hiện được các công việc trên bằng VBA đòi hỏi người sử dụng tốn rất nhiều thời gian luyện tập và thử sai.

Nếu sử dụng Power Query bạn chỉ cần thực hiện tao tác và có thể thấy ngay kết quả sau khi bạn thực hiện chưa tới 1 giây.

Điểm khác biệt cuối cùng nhưng quan trọng nhất của Power Query đó là thời gian thành thạo. Đây là điều không phải ai cũng có thể tìm kiếm thấy thông qua Google. Là một công cụ xuất hiện lần đầu từ năm 2010 và thực sự hoàn thiện với đầy đủ chức năng để giải quyết gần như mọi bài toán vào năm 2019, Power Query là một chức năng mới ở cấp độ toàn cầu.

Mọi người sẽ thấy rất hiển nhiên khi các bài viết về Power Query bằng tiếng việt cực kỳ khó tìm trên Google trong khi các bài viết về Excel VBA thì cực kỳ nhiều. Ngược lại với số lượng bài viết, thời gian mọi người cần để thành thạo Power Query làm được tất cả những việc trên chỉ tính theo đơn vị ngày.

Mọi người có thể học và dùng ngay được trong vòng 3 tiếng, áp dụng ngay vào một số vấn đề khó hơn sau 1 ngày và gần như thành thạo mọi thứ chỉ sau 3 hoặc 7 ngày áp dụng vào công việc.

Xem thêm: Hàm lọc dữ liệu trùng nhau trong Excel

Học Power Query ở đâu?

Như đã trình bày phía trên, hiện tại Power Query vẫn còn rất mới ở Việt Nam. Do vậy, để tìm các tài liệu học về tính năng này bằng tiếng việt gần như là không có. Hiện tại Uniace tự hào là đơn vị tiên phong dạy Power Query, Power Pivot, Power BI cho người Việt.

Nếu bạn mong muốn chất lượng công việc của mình được nâng cao, hay có thời gian để làm những công việc khác ngoài việc thao tác thủ công hàng ngày trên Excel. Hãy liên hệ với chung tôi, hoặc tham khảo khóa học nền tảng của Uniace.

Đội ngũ của chúng tôi luôn sẵn sàng hỗ trợ các bạn trong suốt quá trình học và giúp giải quyết vấn đề mà các bạn đang gặp phải.

Tham khảo các bài viết hữu ích khác của Uniace tại Chuyên Đề Excel

Có thể bạn quan tâm

Trả lời

Website UNIACE có sử dụng Cookie và thu thập thông tin cá nhân của học viên tuân thủ chính sách bảo vệ thông tin cá nhân của người tiêu dùng theo quy định của pháp luận. Tiếp tục sử dụng Website đồng nghĩa với việc bạn đồng ý về các điều khoản này. Xem thêm chi tiết tại https://uniace.vn/chinh-sach-bao-mat-thong-tin/