6
1 CHƢƠNG TRÌNH HỌC LP TRÌNH VBA TRONG EXCEL (Kiến thức cơ bản) Biên son: ThS. Phan THƣớng I. Giới thiệu về Excel và VBA Hin nay, phn mềm Excel đã trở nên thân thuộc đối vi những người thường xuyên làm vic vi bng tính và biểu đồ. Khnăng tính toán, phân tích và xlý dliu tuyt vi của Excel đã giúp chúng ta giải quyết được nhiu công vic khác nhau. Kiến thc trong Excel rt rng lớn, đáp ứng cho nhiu ngành ngh. Chúng ta chbiết nhiu hay biết ít vExcel chkhông thbiết hết! Khi đã thông tho vExcel, chúng ta có thxây dựng các chương trình ứng dng vi nhiu cp ng dng khác nhau, rút ngn thi gian hoàn thành công vic với độ chính xác cao. Tuy nhiên, đối vi mt sbài toán có công vic tính toán, xlý phc tp nếu chđơn thuần sdng công c, phép tính và hàm trong Excel thì không thgii quyết được triệt để, hoc phi tn nhiu công sc xây dng vi thao tác thcông. Ngoài ra, chúng ta có thgp nhng bài toán mang tính lặp đi lặp li, hoc có skết ni với môi trường bên ngoài Excel. Để khc phc nhng mt hn chế đó, ngôn ngữ lp trình Visual Basic for Applications (gi tắt là VBA) được tích hp sn trong Excel sgiúp chúng ta có thgii quyết triệt để các bài toán trên. VBA là ngôn nglp trình Visual Basic phát triển trong môi trường Office bi Microsoft. Phn mm Excel, Word, Access, Powerpoint,... và kcphn mm chuyên vvkthuật AutoCad đều có thsdng VBA. II. Giới thiệu về Giảng viên Ging viên của chương trình học VBA trong Excel là ThS. Phan THướng (ĐH Kiến Trúc Hà Ni) và ThS. Nguyễn Duy Tuân (ĐH Công Nghiệp). ThS. Phan THướng là tác gicun Lp trình VBA trong Excel do Nhà xut bn Thng kê phát hành (tái bn ln th). Chúng tôi cũng đang tham gia điều hành diễn đàn www.giaiphapexcel.com

De Cuong VBA Trong Excel

Embed Size (px)

Citation preview

Page 1: De Cuong VBA Trong Excel

1

CHƢƠNG TRÌNH HỌC LẬP TRÌNH VBA TRONG EXCEL

(Kiến thức cơ bản)

Biên soạn: ThS. Phan Tự Hƣớng

I. Giới thiệu về Excel và VBA

Hiện nay, phần mềm Excel đã trở nên thân thuộc đối với những người thường

xuyên làm việc với bảng tính và biểu đồ. Khả năng tính toán, phân tích và xử lý dữ

liệu tuyệt vời của Excel đã giúp chúng ta giải quyết được nhiều công việc khác

nhau. Kiến thức trong Excel rất rộng lớn, đáp ứng cho nhiều ngành nghề. Chúng ta

chỉ biết nhiều hay biết ít về Excel chứ không thể biết hết! Khi đã thông thạo về

Excel, chúng ta có thể xây dựng các chương trình ứng dụng với nhiều cấp ứng

dụng khác nhau, rút ngắn thời gian hoàn thành công việc với độ chính xác cao.

Tuy nhiên, đối với một số bài toán có công việc tính toán, xử lý phức tạp nếu chỉ

đơn thuần sử dụng công cụ, phép tính và hàm trong Excel thì không thể giải quyết

được triệt để, hoặc phải tốn nhiều công sức xây dựng với thao tác thủ công. Ngoài

ra, chúng ta có thể gặp những bài toán mang tính lặp đi lặp lại, hoặc có sự kết nối

với môi trường bên ngoài Excel. Để khắc phục những mặt hạn chế đó, ngôn ngữ

lập trình Visual Basic for Applications (gọi tắt là VBA) được tích hợp sẵn trong

Excel sẽ giúp chúng ta có thể giải quyết triệt để các bài toán trên.

VBA là ngôn ngữ lập trình Visual Basic phát triển trong môi trường Office bởi

Microsoft. Phần mềm Excel, Word, Access, Powerpoint,... và kể cả phần mềm

chuyên về vẽ kỹ thuật AutoCad đều có thể sử dụng VBA.

II. Giới thiệu về Giảng viên

Giảng viên của chương trình học VBA trong Excel là ThS. Phan Tự Hướng (ĐH

Kiến Trúc Hà Nội) và ThS. Nguyễn Duy Tuân (ĐH Công Nghiệp). ThS. Phan Tự

Hướng là tác giả cuốn Lập trình VBA trong Excel do Nhà xuất bản Thống kê phát

hành (tái bản lần thứ tư). Chúng tôi cũng đang tham gia điều hành diễn đàn

www.giaiphapexcel.com

Page 2: De Cuong VBA Trong Excel

2

Chúng tôi đã tham gia nhiều lớp giảng dạy Excel nâng cao, VBA trong Excel

cho các tổ chức, cá nhân, đồng thời chia sẻ kiến thức cho cộng đồng mạng như

giaiphapexcel.com, webketoan.vn,...

III. Yêu cầu với học viên

Để kết quả học tập đạt hiệu quả cao, yêu cầu đối với học viên như sau:

- Các học viên phải có máy tính xách tay để thuận lợi cho việc học tập.

- Học trên Excel 2007 hoặc 2010, 2013.

- Học viên phải có kiến thức về Excel tương đối khá, hiểu biết được cấu trúc đối

tượng và sự phân cấp quản lý chúng.

- Chịu khó thực hành xây dựng code trên máy ở lớp cũng như ở nhà.

- Nên ghi chép với những nội dung quan trọng.

- Áp dụng kiến thức lập trình vào công việc chuyên môn cụ thể.

IV. Thời gian và kế hoạch học

- Thời gian học dự kiến một buổi là 2h30’, đã bao gồm 15 phút nghỉ giải lao.

Một tuần học 2 buổi.

- Có tài liệu phô tô.

- Thời lượng học dự kiến như sau (còn phụ thuộc trình độ hiểu biết của học viên,

thời gian thực hành).

+ Buổi 1: Chuyên đề 1, 2, 3, 4, 5.

+ Buổi 2: Chuyên đề 6 và 7.

+ Buổi 3: Chuyên đề 8 & 9 & 10

+ Buổi 4: Chuyên đề 11 & 12.

+ Buổi 5: Chuyên đề 13 & 14.

+ Buổi 6: Chuyên đề 15.

+ Buổi 7: Chuyên đề 16 & 17.

+ Buổi 8: Tổng kết hoặc kiểm tra (tùy chọn).

Ghi chú: Nội dung các chuyên đề đã đề cập ở dưới. Học viên có thể nghiên cứu

chuyên đề nào không cần thiết (hoặc đã biết) để bỏ qua, không cần học.

Page 3: De Cuong VBA Trong Excel

3

V. Đề cương bài giảng lập trình VBA trong Excel

Chúng tôi sẽ giảng theo từng chuyên đề, có tính hệ thống, nội dung bám theo

cuốn Lập trình VBA trong Excel (Nhà xuất bản Thống kê).

1. Giới thiệu về VBA

- Học viên hiểu được khả năng ứng dụng của VBA trong Excel qua các chương

trình ứng dụng.

- Thành phần VBA trong bộ Office và cách cài đặt.

- Giới thiệu Ribbon điều khiển VBA và ý nghĩa của nó.

2. Ghi và thực hiện macro

Học viên nắm nắm bắt được quá trình thực hiện công việc nhờ việc chạy (thi

hành) macro bởi các câu lệnh đã được ghi lại trong nó. Ngoài ra, các dòng lệnh

đó sẽ giúp học viên tìm hiểu ngôn ngữ lập trình VBA, đặc biệt là đối với những ai

mới bắt đầu tìm hiểu ngôn ngữ lập trình này.

- Tạo macro bằng chức năng Recorder Macro

- Thực hiện macro khi sử dụng bảng điều khiển macro

3. Cách thực hiện một macro đơn giản

Học viên nắm được cách thi hành một macro đã được xây dựng bằng các

phương pháp khác nhau.

- Thực hiện từ một đối tượng Object trong worksheet

- Thực hiện từ đối tượng trong Form Controls

- Thay đổi lựa chọn trong macro

4. Giới thiệu cửa sổ làm việc Microsoft Visual Basic

Học viên hiểu được các thành phần và ý nghĩa của chúng trong cửa sổ

Microsoft Visual Basic (MVB). MVB là nơi làm việc chính trong quá trình xây

dựng code.

- Cấu trúc cửa sổ MVB

- Cửa sổ soạn thảo code (Code window)

- Cửa sổ Immediate

- Hiệu chỉnh trong MVB

Page 4: De Cuong VBA Trong Excel

4

5. Làm việc với file chứa macro

Trong những năm gần đây, do virus macro phát triển nên Microsoft đã bổ sung

thêm chế độ an toàn trong các ứng dụng. Chức năng Security điều khiển sự làm

việc của macro, tức là có thể cho macro hoạt động hay không hoạt động.

- Sử dụng chức năng Security

- An toàn khi làm việc với tập tin Excel (giới thiệu 1 chuyên đề riêng)

- Sử dụng các chương trình diệt virus

6. Giới thiệu ngôn ngữ lập trình VBA

Học viên bắt đầu tìm hiểu ngôn ngữ lập trình VBA. Đó là đối tượng điều khiển

(Object) cùng với phương thức (Method) và thuộc tính (Property) của chúng.

- Đối tượng (Object)

- Phương thức (Method)

- Thuộc tính (Property)

7. Một số đối tƣợng cơ bản trong Excel

Học viên tìm hiểu các đối tượng hay được sử dụng đến với thuộc tính, phương

thức điều khiển chúng theo ý muốn. Tìm hiểu sâu về Range vì đây là đối tượng

chúng ta hay làm việc nhất.

- Đối tượng Application

- Đối tượng Window

- Đối tượng Workbook

- Đối tượng Worksheet

- Đối tượng Range (vùng) và Cells (khối ô)

8. Khai báo và sử dụng biến trong VBA

Học viên tìm hiểu cách tạo biến và cách thức sử dụng chúng.

- Khai báo kiểu giá trị cho biến

- Các toán tử trong VBA

- Biểu thức

- Gán giá trị cho biến, hằng và đối tượng

- Khai báo và sử dụng mảng (Array)

9. Phƣơng pháp tự xây dựng chƣơng trình

Page 5: De Cuong VBA Trong Excel

5

Sau khi đã có những kiến thức cơ bản về VBA, các học viên có thể tự xây dựng

chương trình (Sub) mà không phải sử dụng chức năng tự ghi macro.

10. Sử dụng và xây dựng hàm trong VBA

Học viên tìm hiểu các hàm hỗ trợ trong VBA hoạt động tương tự trong Excel.

Tiếp theo tìm hiểu cách xây dựng hàm theo ý muốn.

- Sử dụng các hàm sẵn có trong Excel

- Sử dụng các hàm trong VBA

- Xây dựng hàm trong VBA

11. Hộp thoại trong VBA

Học viên tìm hiểu cách tạo hộp thoại trong VBA để tạo kết nối và điều khiển sự

hoạt động chương trình theo ý muốn.

- Phương thức InputBox

- Hàm InputBox

- Hàm MsgBox

12. Cấu trúc điều khiển trong VBA

Một số trường hợp, chúng ta phải sử dụng thủ tục để kiểm tra những tình huống

khi làm việc với Excel, điều khiển chúng để đáp ứng được yêu cầu đề ra. Với mỗi

tình huống, macro sẽ thực hiện công việc khác nhau. Cấu trúc điều khiển như vậy

không thể sử dụng chức năng tự ghi macro được, chúng ta phải xây dựng bằng

VBA. Có hai loại điều khiển thường gặp là điều kiển có điều kiện và vòng lặp.

- Điều khiển có điều kiện

- Điều khiển vòng lặp

13. Kỹ thuật xử lý lỗi

Khi làm việc với VBA, lỗi trong quá trình xây dựng chương trình không thể

tránh khỏi và xuất hiện những thông báo gây khó chịu. Có nhiều nguyên nhân gây

lỗi và khi mắc những lỗi đó, thủ tục của chúng ta không thể chạy được nếu không

sửa lỗi.

- Các kiểu lỗi thường gặp

- Lỗi thi hành và cách xử lý lỗi

- Các phương pháp giảm lỗi

Page 6: De Cuong VBA Trong Excel

6

14. Lập trình sự kiện trong Excel

Lập trình sự kiện giúp học viên điều khiển sự hoạt động theo ý muốn như khi

bấm phải chuột, đóng, mở file, chuyển sheet...

- Chỉ dẫn về các thủ tục của sự kiện

- Làm hữu hiệu và vô hiệu các sự kiện

- Trình tự các sự kiện

- Các sự kiện đối với Workbook

- Các sự kiện đối với Worksheet

15. Xây dựng bảng điều khiển trong Excel

Nội dung phần nỳ hướng dẫn cách xây dựng bảng điều khiển (Form) trong

Excel theo ý muốn người sử dụng.

- Xây dựng UserForm trong MVB

- Xây dựng Form trong WorkSheet (chuyên đề riêng)

16. Thể hiện tiếng Việt trong VBA

Do VBA không được hỗ trợ hiển thị font Unicode nên việc hiển thị thông điệp

bằng tiếng Việt rất khó khăn, ảnh hưởng đến chất lượng sản phẩm. Chương này sẽ

đề cập đến Việt hoá MsgBox, phương thức InputBox, CommandButton, Caption

của UserForm,... Đó là những đối tượng chính cần Việt hoá Unicode.

- Việt hóa MsgBox và phương thức InputBox

- Việt hóa UserForm

17. Một số vấn đề đối với Excel

Chuyên đề này đề cập đến một số vấn đề hay gặp phải trong Excel. Ví dụ như

cách diệt virus macro, xử lý tập tin Excel to bất thường, lỗi tập tin Excel, tăng tốc

tính toán trong Excel,...

Tiếp theo GV sẽ trả lời các vướng mắc của học viên trong quá trình học.