hướng dẫn trình bày văn bản đẹp trong word
TRANSCRIPT
Python for Excel! Pyan.vn
1
MỤC LỤC CÀI ADD-IN VBA VÀO EXCEL SỬ DỤNG CÁC HÀM CỦA PYTHON ......................... 2 I. YÊU CẦU ĐẦU VÀO ...................................................................................................... 2 1. CHUẨN BỊ NỘI DUNG .................................................................................................. 2 2. YÊU CẦU KIẾN THỨC .................................................................................................. 2 3. ĐỀ BÀI VÀ YÊU CẦU ĐẶT RA .................................................................................... 2 II. CÁC BƯỚC THỰC HIỆN .............................................................................................. 4 Cài add-in VBA vào exceL sử dụng các hàm của Python ..................................................... 4 III. KẾT LUẬN.................................................................................................................... 8 1. Trường hợp vận dụng ....................................................................................................... 8 2. Ưu điểm ........................................................................................................................... 8 3. Nhược điểm ..................................................................................................................... 8
Python for Excel! Pyan.vn
2
CÀI ADD-IN VBA VÀO EXCEL SỬ DỤNG CÁC HÀM CỦA PYTHON
I. YÊU CẦU ĐẦU VÀO 1. CHUẨN BỊ NỘI DUNG
Để bắt đầu bài học, các bạn cần có ít nhất 01 máy tính để bàn hoặc laptop, trong đó đã cài đặt:
a. Python
b. Visual Studio Code
c. Microsoft Excel từ 2007 trở lên để tối ưu việc lập trình bằng python.
d. Teamviewer hoặc Ultraviewer để được các giảng viên và trợ giảng của trang web Pyan.vn
hỗ trợ 24/7 nếu các bạn bị vướng mắc trong quá trình code.
2. YÊU CẦU KIẾN THỨC
Đối với bài học này, các bạn cần nẵm vững các kiến thức sau:
a. Cách sử dụng vòng lặp FOR
b. Cách sử dụng hàm điều kiện IF
c. Cách sử dụng vòng lặp WHILE
d. Nếu chưa nắm vững kiến thức, các bạn có thể trao đổi thêm với các giảng viên và trợ giảng
của trang web Pyan.vn để được hỗ trợ.
3. ĐỀ BÀI VÀ YÊU CẦU ĐẶT RA
a. Đề bài:
Trong file excel, cột A là danh sách các vị trí nhân sự trong công ty, cột B là danh sách
email tương ứng với các vị trí nhân sự trong cột A. Tại cột D là 2 địa chỉ email bất kỳ mà
chúng ta lấy từ cột B.
b. Yêu cầu đặt ra:
Yêu cầu đặt ra là khi ta bấm thực thi code trong file script python, thì tại cột E sẽ trả ra vị trí
nhân viên trong công ty tương ứng với email tại cột D, căn cứ vào giá trị tham chiếu là cột A
và cột B.
Python for Excel! Pyan.vn
4
II. CÁC BƯỚC THỰC HIỆN
Cài add-in VBA vào exceL sử dụng các hàm của Python
Trong video lần trước, chúng tôi đã giới thiệu với các bạn cách để thêm chức năng add-in
python vào excel. Với cách thức đó, chúng ta sẽ tạo được 1 folder tên là my project1 có chứa
file excel và file script python trùng tên với nhau. Trong bài học này, chúng tôi sẽ giới thiệu
với các bạn thêm một cách khác để thêm chức năng add-in python vào excel, trong trường hợp
chúng ta có 1 file excel và 1 file script python riêng biệt. Hai file này không cùng tên và được
chúng ta tải về từ nguồn trên internet. File script python có tên là my module chấm py, file
excel có tên là sample chấm xlsx. Trước hết, chúng tôi sẽ giới thiệu sơ lược về nội dung của
file script python và file excel mà chúng ta tải về này. Trong file excel, cột A là danh sách các
vị trí nhân sự trong công ty, cột B là danh sách email tương ứng với các vị trí nhân sự trong cột
A. Tại cột D là 2 địa chỉ email bất kỳ mà chúng ta lấy từ cột B. Yêu cầu đặt ra là khi ta bấm
thực thi code trong file script python, thì tại cột E sẽ trả ra vị trí nhân viên trong công ty tương
ứng với email tại cột D, căn cứ vào giá trị tham chiếu là cột A và cột B. Bây giờ, ta sẽ bấm
thực thi code trong script python, kết quả trả ra là tại cột E đã được lấp đầy các vị trí nhân viên
tương ứng với địa chỉ email tại cột D, căn cứ vào giá trị tham chiếu là cột A và cột B. Sau đây,
chúng tôi sẽ hướng dẫn các bạn cách để thêm chức năng add-in python vào excel trong trường
hợp này. Đầu tiên, ta lưu file excel từ đuôi xlsx chuyển sang đuôi xlsm. Như ở ví dụ này ta sẽ
có file Sample chấm xlsm. Tiếp đó, ta Add module xlwings chấm bas vào VBA của file
Sample chấm xlsm. Để làm được điều này, trước hết, ta ấn tổ hợp phím Windows cộng R, và
gõ cmd, các bạn bấm enter. Trong hộp thoại Command Prompt hiện ra, ta gõ lệnh python. Sau
khi lệnh chạy xong, ta gõ tiếp lệnh import xlwings và lệnh như trên video, các bạn lưu ý là có
2 dấu gạch dưới ở đầu và đuôi chữ path. Kết quả trả ra chính là đường dẫn tới thư mục có chứa
file xlwings chấm bas.
Python for Excel! Pyan.vn
5
Bây giờ, trong file sample chấm xlsm, ta ấn tổ hợp phím Alt cộng F11. Trong cửa sổ VBA vừa
mới hiện ra, ta chọn File, chọn Import File. Tiếp đó, một hộp thoại hiện ra, ta sẽ căn cứ theo
đường dẫn trong file Command Prompt mà trỏ đường dẫn đến thư mục có chứa file xlwings
chấm bas và chọn file xlwings chấm bas, sau đó ta ấn Open. Kết quả sau khi Import ta kiểm tra
tại mục Module sẽ có chứa Module xlwings1 như hình ảnh trên màn hình là ta đã import thành
công. Bây giờ, ta sẽ mở script python may module lên. Để liên kết python với VBA thì file
python chúng ta sẽ tạo ra một function. Ví dụ ở đây đặt tên là function main. Tiếp theo, ta thay
thế công thức của biến wb từ tên workbook cụ thể thành caller. Ở đây function caller sẽ làm
nhiệm vụ lấy file workbook khi được vba gọi. Đối với các lệnh còn lại, ta vẫn giữ nguyên cách
lập trình như cũ, chỉ khác là ta sẽ lùi dòng toàn bộ khối lệnh về bên phải để phù hợp với hàm
main.
Python for Excel! Pyan.vn
6
Bây giờ, ta sẽ tạo module VBA trong file Sample chấm xlsm. Trước hết, ta Mở file excel
Sample chấm xlsm lên, sau đó ta ấn tổ hợp phím Alt+F11, trong cửa sổ VBA vừa hiện lên, ta
click chuột phải vào mục Modules. Ta chọn Insert, sau đó là Module. Kết quả sẽ tạo ra 1
Module nữa tên Module 1. Trong module này, ta tạo một code như sau. Dòng đầu tiên là Sub
PythonCode, ở đây có ý nghĩa ta tạo ra 1 Macro có tên là PythonCode. Dòng lệnh thứ 2 là
RunPython import my module chấm phẩy my module chấm main. Trong đó RunPython là
dòng lệnh để chạy lệnh python. My module chính là tên file python trong bài. Lệnh my
module chấm main dùng để chạy function main trong file python. Trở lại với file excel mẫu,
ta sẽ Tạo nút ấn Check và gán Module VBA.
Python for Excel! Pyan.vn
7
Hoàn toàn tương tự bài học trước, tại mục Form Controls, ta chọn Button. Ta chọn vị trí đặt
Button ngay sau đó sẽ hiện ra hộp thoại yêu cầu gán macro vào. Ta chọn macro PythonCode
và ấn OK. Tiếp đó, ta Ấn chuột phải vào Button đó, chọn Edit Text, Sửa thành chữ Check. Sau
đó Ấn nút Check ta được kết quả như khi chúng ta thực thi code với file script python. Như
vậy, chúng tôi đã hướng dẫn các bạn thêm một cách khác để thêm chức năng add-in python
vào excel. Tùy theo tình hình thực tế công việc mà các bạn lựa chọn sử dụng các cách thức,
mà chúng tôi đã hướng dẫn để áp dụng sao cho hợp lý.
Python for Excel! Pyan.vn
8
III. KẾT LUẬN 1. Trường hợp vận dụng
Tạo ra phím thực thi code ngay trên file excel, qua đó giúp việc tự động hóa diễn trong file
excel diễn ra đơn giản hơn.
2. Ưu điểm
Không cần phải mở file script python để thực thi code như trước.
3. Nhược điểm
Do tính chất phức tạp của bảng code, cần hiểu rõ cách sử dụng để vận dụng vào công việc.