BÀI 1: VBA LÀ GÌ? TẠO MACRO ỨNG DỤNG CÁC HÀM TỰ...
Transcript of BÀI 1: VBA LÀ GÌ? TẠO MACRO ỨNG DỤNG CÁC HÀM TỰ...
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 1/12
BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI
ĐẶT ADD-INS
VBA là gì?
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 2/12
Macro là gì?
Macro là một lệnh lệnh thực thi một hay nhiều thao tác người dùng lên đối tượng Excel
được mã hóa thành các dòng lệnh theo ngôn ngữ lập trình VBA.
Mở menu Developer
(Excel 2010, 2013,…)
(Excel 2007)
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 3/12
Sau khi chọn hiển thị tab Developer chúng ta thấy xuất hiện menu dưới đây
Tạo Macro trong môi trường VBA
Bước 1: Nhấn ALT + F11 (menu Developer - > Visual Basic)
Bước 2: Tại màn hình VBE, vào menu Insert -> Module
Bước 3: Soạn thảo mã lệnh – CODE trong module. Ví dụ tạo macro “FillData”
Sub FillData()
Dim I As Long MsgBox "Ban se dien cac giá tri vao A1:A100."
For I = 1 To 100 Cells(I, 1).Value = I
Next I
End Sub
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 4/12
Chạy Macro: Đặt con trỏ trong khói Sub..End Sub (trong thân một macro). Nhấn F5
hoặc chọn nút “Run Macro”
Tạo Macro bằng chức năng Record Macro (4 bước)
Ví dụ: Tạo macro để định dạng dữ màu đỏ, cỡ chữ 14, Bold, Tahoma, nền màu vàng.
Hãy chuẩn bị kỹ các thao tác sẽ làm một cách chính xác, không được phép làm sai.
Bước 1: Chọn đối tượng (bôi đen). Ví dụ A3:D12. Vùng chọn này có vai trò như vùng
mẫu.
Bước 2: Vào menu Developer->Record Macro.
Khi cửa sổ Record Macro hiện lên. Đặt tên macro, hãy dùng các ký tự A-Z rồi với đến 0-9
(nếu dùng số) viết liền nhau, không dấu cách, không các ký tự lạ, ký tự toán học….
+ Macro Name: đặt tên macro là “DinhDang”.
+ Shortcut key: nhấn D, thì ta có thể dùng phím tắt CTRL+SHIFT+D để chạy macro này.
+ Store macro in: Nơi lưu macro, ngầm định trong chính tập tinh Excel đang tạo.
+ Description: Để mô tả macro này dùng làm gì, người ta ra nó. Không được viết chữ có
dấu vì môi trường VBA không lưu được chuỗi unicode.
+ Ok: Cuối cùng chọn nút OK để Excel bắt đầu ghi các lệnh mà bạn làm. Hãy thật cẩn
thận từ đây. Không làm sai, làm thừa động tác nào vì tất cả các thao tác đều được Excel lưu lại
vào macro “DinhDang”.
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 5/12
Bước 3: Thực hiện các thao tác định dạng. Thực hiện các thao tác định dạng chữ đỏ, 14,
Bold, Tahoma, nền vàng.
Bước 4: Dừng chế độ ghi macro. Vào menu Developer->Stop Recording
Chạy Macro
Bạn hãy chọn một vùng dữ liệu cần thực hiện các thao tác định dạng như lã làm ở trên.
Vào menu Developer-> Macro (Phím tắt ALT+F8). Chọn macro “DinhDang” bạn sẽ thấy
toàn bộ các thao tác thủ công trước đây được tự động làm.
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 6/12
Xem và sửa Macro
Vào menu Developer-> Macro (Phím tắt ALT+F8). Chọn macro “DinhDang”, chọn Edit.
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 7/12
Cửa sổ VBA/VBE hiện ra và chúng ta có thể chỉnh sửa lại code VBA theo ý. Tuy nhiên
bạn phải thận trọng vì bạn cần có kiến thức cơ bản về VBA.
Để đảo qua màn hình VBA <->Excel nhấn ALT+F11
Xóa Macro
Xóa macro bạn có thể thực hiện trong cửa sổ Macro hoặc vào môi trường VBA để xóa.
Vào menu Developer-> Macro (Phím tắt ALT+F8). Chọn macro “DinhDang”, chọn
Delete.
Gán macro lên nút lệnh, menu
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 8/12
Nhấp chuột phải trên nút lệnh, chọn “Assign Macro…”, cửa sổ Macro hiện ra, chọn macro
“DinhDang”.
Lưu tập tin chứa Macro
Vào menu File->Save As… Lưu tập tin với kiểu xls hoặc xlsm. Nếu lưu xlsx theo chế độ
ngầm định của Excel 2007 trở lên thì macro sẽ mất vì loại file này theo quy định không chứa
macro.
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 9/12
Copy Macro, các hàm tự tạo vào tập tin Excel
Giả xử có các hàm được viết dưới đây, hãy copy vào trong tập tin Excel để chạy.
Function GetXlVersion() As String GetXlVersion = Val(Application.Version)
End Function
Function TienThue(Slg, Dgia, TyleThue) As Double
TienThue = Slg * Dgia * TyleThue End Function
Sub FillData() Dim I As Long
MsgBox "Ban se dien cac giá tri vao A1:A100." For I = 1 To 100
Cells(I, 1).Value = I Next I
End Sub
Function ThueTNCN(Luong As Double, Optional Socon As Integer) As Double
Dim GiamTruNuoiCon As Double, MucLuong As Double, ThucLuong As Double MucLuong = 9
GiamTruNuoiCon = 3.6 ThucLuong = Luong / 10 ^ 6 - MucLuong - Socon * GiamTruNuoiCon
Select Case ThucLuong Case Is <= 0
ThueTNCN = 0
Case Is <= 5 ThueTNCN = ThucLuong * 0.05
Case Is <= 10 ThueTNCN = 5 * 0.05 + (ThucLuong - 5) * 0.1
Case Is <= 18
ThueTNCN = 5 * 0.05 + 5 * 0.1 + (ThucLuong - 10) * 0.15 Case Is <= 32
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + (ThucLuong - 18) * 0.2 Case Is <= 52
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + 14 * 0.2 + (ThucLuong - 32) * 0.25 Case Is <= 80
ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + 14 * 0.2 + 20 * 0.25 + (ThucLuong - 52) * 0.3
Case Else ThueTNCN = 5 * 0.05 + 5 * 0.1 + 8 * 0.15 + 14 * 0.2 + 20 * 0.25 + 28 * 0.3 + (ThucLuong -
80) * 0.35 End Select
ThueTNCN = ThueTNCN * 10 ^ 6
End Function
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 10/12
Khi đã copy hàm tự tạo vào module trong VBA chúng ta có thể dùng chúng như những
hàm Excel trên sheet.
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 11/12
Cài đặt Add-ins trong Excel
Vào menu File->Options ta có màn hình
Chọn Add-ins, cửa sổ bên phải chọn nút “Go”. Tại cửa sổ Add-ins, chọn nút “Browse” để
tìm tới thư mục chứa tập tin xla, xll, xlam
Đào tạo thực hành Bluesofts
Trung tâm đào tạo thực hành – Công ty cổ phần BLUESOFTS Địa chỉ: P1012, tầng 10 CT1A-ĐN2 Đường Hàm Nghi,
KĐT Mỹ Đình 2, Từ Liêm, Hà Nội
Điện thoại/Fax: 04.379.17200 Mobile: 096.555.6989
Website: http://bluesofts.net – Mail: [email protected]
VBA TRONG EXCEL CƠ BẢN Trung tâm Đào tạo Thực hành BLUESOFTS
Nguyễn Duy Tuân: 0904.210.337 12/12
Sau khi cài xong Add-in AccHelper – Đọc số thành chữ chúng ta có thể dùng các hàm
VND, USD để đọc số tiền thành chữ tiếng Việt hoặc Anh.
BÀI TẬP:
1. Tạo macro kẻ bảng theo mẫu bạn chọn
2. Gán macro lên menu.
3. Mở tập tin “Thuong theo doanh so.xlsx”. Copy các hàm tự tạo trong tập tin “thuong tho
doanh so.txt” và đảm bảo chạy được hàm “NhanThuong”. Lưu tành tập tin có định
dạng lưu được macro.