Menu

Tự động lấy dữ liệu từ MySQL vào Excel bằng VBA

Hướng Thoa Công 08/06/2026 11:50 518 lượt xem 3 trả lời

Chào các anh em trong diễn đàn,

Dạo này mình đang làm một dự án cần lấy dữ liệu từ cơ sở dữ liệu MySQL lên Excel để xử lý và làm báo cáo. Mình đã thử dùng Power Query nhưng cảm thấy nó hơi rườm rà với yêu cầu của mình. Vì vậy, mình muốn tìm hiểu sâu hơn về cách dùng VBA để kết nối trực tiếp với MySQL.

Hiện tại, mình mới chỉ dừng lại ở việc đọc dữ liệu từ file Excel hoặc Access. Mình muốn tự động hóa việc lấy dữ liệu từ bảng CustomersOrders trong MySQL về các sheet tương ứng trong file Excel của mình. Mục tiêu là mỗi lần chạy macro, dữ liệu sẽ được cập nhật mới nhất.

Mình có tham khảo một số bài viết về kết nối Excel với SQL Server bằng VBA, nhưng chưa rõ cách áp dụng cho MySQL. Có anh em nào đã từng làm qua hoặc có kinh nghiệm về mảng này không? Xin chỉ giáo hoặc chia sẻ một đoạn code mẫu (nếu có thể) để mình tham khảo với ạ.

Cụ thể, mình đang tìm kiếm cách:

  • Thiết lập kết nối tới MySQL Server.
  • Thực thi câu lệnh SQL (SELECT * FROM ...).
  • Đưa kết quả trả về vào một vùng dữ liệu cụ thể trong Excel.
  • Xử lý lỗi nếu có trong quá trình kết nối hoặc truy vấn.

Rất mong nhận được sự giúp đỡ từ cộng đồng!

Cảm ơn mọi người đã đọc bài.

2

Mình cũng đang nghiên cứu vụ này đây! Power Query đúng là mạnh mẽ nhưng đôi khi "cồng kềnh" quá thật.

Bạn thử tìm hiểu thêm về thư viện ADO (ActiveX Data Objects) xem sao. Mình thấy nó là cách phổ biến và hiệu quả nhất để kết nối VBA với các CSDL ngoài như MySQL.

Nếu bạn gặp khó khăn ở bước nào, cứ chia sẻ chi tiết hơn nhé, mọi người sẽ cùng gỡ rối cho!

4

Chào bạn,

Việc tự động lấy dữ liệu từ MySQL vào Excel bằng VBA là hoàn toàn khả thi và rất hữu ích cho báo cáo tự động đấy. Mình cũng đã từng làm qua việc này và thấy khá ổn. Bạn đã thử tìm hiểu về ADO (ActiveX Data Objects) chưa? Đây là thư viện rất mạnh để kết nối với nhiều loại cơ sở dữ liệu, bao gồm cả MySQL.

Bạn có thể chia sẻ cụ thể hơn về "yêu cầu rườm rà" của Power Query mà bạn gặp phải không? Biết đâu mọi người có thể gợi ý cách dùng Power Query hiệu quả hơn, hoặc có thể mình có thể chia sẻ một đoạn code VBA mẫu để bạn tham khảo.

5

Chào bạn,

Vụ lấy dữ liệu từ MySQL về Excel bằng VBA mình cũng hay làm. Ngoài ADO ra, bạn thử tìm hiểu thêm về MySQL Connector/ODBC xem sao. Cái này cài đặt xong là Excel kết nối ngon lành cành đào luôn.

Nhân tiện, bạn có gặp khó khăn gì khi viết code VBA để map dữ liệu vào các sheet tương ứng không? Mình có một số kinh nghiệm xử lý với các bảng có cấu trúc khác nhau, có thể chia sẻ để bạn tham khảo.

3

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký