Excel vba có sử dụng python không?

Excel là một phước lành, nhưng nó cũng là một lời nguyền. Khi nói đến dữ liệu đủ nhỏ và các thao tác đủ đơn giản, Excel là vua. Tuy nhiên, một khi bạn thấy mình nỗ lực bên ngoài những khu vực đó, điều đó sẽ trở thành một nỗi đau. Chắc chắn rồi, bạn có thể sử dụng Excel VBA để giải quyết các sự cố như vậy, nhưng vào năm 2020, bạn có thể cảm ơn những ngôi sao may mắn của mình vì bạn không cần phải

Giá như có cách tích hợp Excel với Python để cho Excel… đôi cánh. Vâng, bây giờ có. Thư viện python có tên xlwings cho phép bạn gọi các tập lệnh Python thông qua VBA và truyền dữ liệu giữa hai tập lệnh

Tại sao nên tích hợp Python với Excel VBA?

Sự thật của vấn đề là bạn có thể làm bất cứ điều gì trong VBA. Vì vậy, nếu đúng như vậy, tại sao bạn lại muốn sử dụng Python?

  1. Bạn có thể tạo một hàm tùy chỉnh trong Excel mà không cần học VBA (nếu bạn chưa biết)
  2. Người dùng của bạn cảm thấy thoải mái trong Excel
  3. Bạn có thể tăng tốc đáng kể hoạt động dữ liệu của mình bằng cách sử dụng Python
  4. Có các thư viện dành cho mọi thứ trong Python (Machine Learning, Data Science, v.v.)
  5. Bởi vì bạn có thể

Ảnh của Fotis Fotopoulos trên BaptThiết lập để sử dụng xlwings

Điều đầu tiên chúng ta cần làm, như với bất kỳ thư viện mới nào mà chúng ta muốn sử dụng, là cài đặt nó. Nó rất dễ làm; . Vì vậy, hãy tiếp tục và nhập vào thiết bị đầu cuối của bạn

Khi thư viện đã được tải xuống và cài đặt, chúng ta cần cài đặt phần tích hợp Excel. Đảm bảo bạn đã đóng tất cả các phiên bản Excel của mình và trong bất kỳ loại thiết bị đầu cuối nào

Giả sử bạn không gặp lỗi, bạn sẽ có thể tiếp tục. Tuy nhiên nhiều khi trên Win10 với Excel 2016 mọi người sẽ gặp lỗi sau

xlwings 0.17.0
[Errno 2] No such file or directory: 'C:\\Users\\costa\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\xlwings.xlam'

Nếu bạn là một trong những người may mắn gặp phải lỗi trên, tất cả những gì bạn cần làm là tạo thư mục bị thiếu. Bạn có thể làm điều đó một cách dễ dàng bằng cách sử dụng lệnh mkdir. Trong trường hợp của tôi, tôi đã làm

mkdir C:\\Users\\costa\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART

Giả sử cài đặt thành công tích hợp excel với thư viện python, sự khác biệt chính mà bạn sẽ nhận thấy ngay là trong Excel

Kích hoạt chức năng do người dùng xác định cho xlwings

Đầu tiên, chúng ta cần tải Add-in Excel. Bạn có thể nhấn Alt, L, H rồi điều hướng đến thư mục trên để tải plugin. Khi bạn đã hoàn tất, bạn sẽ có thể thấy những điều sau đây

Cuối cùng, bạn cần Kích hoạt quyền truy cập Tin cậy vào mô hình đối tượng dự án VBA. Bạn có thể làm điều đó bằng cách điều hướng đến Tệp > Tùy chọn > Trung tâm tin cậy > Cài đặt trung tâm tin cậy > Cài đặt macro

Ảnh của Pakata Goh trên BaptBắt đầu với xlwings

Có hai cách chính để bạn có thể chuyển từ Excel sang Python (và ngược lại). Cách đầu tiên là gọi tập lệnh Python trực tiếp từ VBA, trong khi cách còn lại là thông qua Hàm do người dùng xác định. Hãy để chúng tôi có một cái nhìn nhanh về cả hai

Để tránh nhầm lẫn và luôn thiết lập chính xác, xlwings đề nghị tạo bảng tính Excel của bạn, sẵn sàng hoạt động. Sau đó chúng ta hãy sử dụng chức năng này. Sử dụng thiết bị đầu cuối, chúng tôi điều hướng đến thư mục chúng tôi thích và nhập

xlwings quickstart ProjectName

Tôi đang gọi đây là MyFirstPythonXL. Lệnh trên sẽ tạo một thư mục mới trong thư mục được điều hướng trước của bạn với một trang tính Excel và tệp python

khai trương. xlsm, bạn sẽ ngay lập tức nhận thấy một trang tính Excel mới có tên _xlwings. conf. Nếu bạn muốn ghi đè cài đặt mặc định của xlwings, tất cả những gì bạn phải làm là đổi tên trang tính này và xóa dấu gạch dưới bắt đầu. Và với điều đó, tất cả chúng ta đã thiết lập và sẵn sàng bắt đầu sử dụng xlwings

VBA sang Python

Trước khi bắt đầu viết mã, trước tiên chúng ta hãy đảm bảo rằng tất cả chúng ta đều ở trên cùng một trang. Để hiển thị trình soạn thảo VBA Excel của chúng tôi, hãy nhấn Alt + F11. Điều này sẽ trả về màn hình sau

Trình soạn thảo VBA với xlwings

Điều quan trọng cần lưu ý ở đây là mã này sẽ làm như sau

  1. Tìm Tập lệnh Python ở cùng vị trí với bảng tính
  2. Tìm Tập lệnh Python có cùng tên với bảng tính (nhưng có. phần mở rộng py)
  3. Từ Python Script, gọi hàm “main()”

Không có gì khó chịu nữa, chúng ta hãy xem xét một vài ví dụ về cách sử dụng điều này

ví dụ 1. Thao tác bên ngoài Excel và trả lại Kết quả

Trong ví dụ này, chúng ta sẽ thấy cách bạn thực hiện các thao tác bên ngoài Excel, nhưng sau đó trả về kết quả của bạn trong bảng tính. Điều này có thể có vô số trường hợp sử dụng

Chúng tôi sẽ lấy dữ liệu từ tệp CSV, thực hiện sửa đổi dữ liệu đã nói, sau đó chuyển đầu ra sang Excel. Hãy xem lại nó dễ dàng như thế nào

Đầu tiên, mã VBA

Tôi đã để cái này hoàn toàn không thay đổi so với mặc định

Sau đó, mã Python

Kết quả nào sau đây

xlwings trong hành động

ví dụ 2. Sử dụng đầu vào Excel để thúc đẩy các hoạt động

Trong ví dụ này, chúng tôi sẽ đọc đầu vào từ Excel, thực hiện điều gì đó với nó trong Python, sau đó chuyển kết quả trở lại Excel

Cụ thể hơn, chúng ta sẽ đọc Lời chào, Tên và vị trí tệp nơi chúng ta có thể tìm thấy truyện cười. Sau đó, tập lệnh Python của chúng tôi sẽ lấy một dòng ngẫu nhiên từ tệp và trả lại cho chúng tôi một trò đùa

Đầu tiên, mã VBA

Tôi đã để cái này hoàn toàn không thay đổi so với mặc định

Sau đó, mã Python

Điều đó mang lại cho chúng ta

Hàm do người dùng xác định với xlwings

Theo cách tương tự như trước đây, chúng tôi sẽ thay đổi mã trong tệp python. Để biến một thứ gì đó thành Hàm do người dùng xác định trong Excel, tất cả những gì chúng ta cần làm là bao gồm '@xw. func’ trước dòng chức năng đang bật

Mã Python

Kết quả

Phần kết luận

Tôi nghĩ bạn sẽ đồng ý rằng đây là một thư viện nhỏ tiện lợi. Nếu bạn giống tôi và bạn thích làm việc với Python hơn là VBA nhưng cần làm việc trong bảng tính, thì đây có thể là một công cụ đặc biệt

Excel VBA có giống với Python không?

Python dễ học và dễ thành thạo hơn, không giống như Excel, bao gồm một ngôn ngữ được cá nhân hóa có tên là VBA rất phức tạp để thành thạo và thực thi. Việc chuyển đổi từ Excel sang Python cho phép người dùng tận hưởng nhiều lợi ích khác nhau, chẳng hạn như nền tảng viết mã nguồn mở, nhiều cộng tác viên tình nguyện và thư viện miễn phí.

VBA Excel sử dụng ngôn ngữ gì?

Visual Basic for Applications (VBA) là triển khai ngôn ngữ lập trình hướng sự kiện của Microsoft Visual Basic 6. 0 được tích hợp trong hầu hết các ứng dụng Microsoft Office dành cho máy tính để bàn.

Python có được sử dụng trong Excel không?

Có nhiều gói Python khác nhau để làm việc với Excel. Phần lớn trong số này là để đọc và ghi các tệp Excel (e. g. openpyxl và xlsxwriter). PyXLL rất khác với các gói khác này. Thay vì chỉ cho phép bạn đọc và ghi tệp Excel, PyXLL tích hợp Python vào Excel .

Python có thể được sử dụng trong macro Excel không?

Giới thiệu. Bạn có thể viết macro Excel bằng python để làm bất cứ điều gì mà trước đây bạn đã sử dụng VBA cho . Macro hoạt động theo cách rất giống với các hàm trang tính. Để đăng ký một hàm dưới dạng macro, bạn sử dụng trình trang trí xl_macro.