Tìm hiều VBA và Form trong Excel

27 3K 7
Tìm hiều VBA và Form trong Excel

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tìm hiều VBA và Form trong Excel Microsoft Excel là một phần mềm chuyên xử lý bảng tính của hãng phần mềm nổi tiếng Microsoft. Excel thực sự là một công cụ rất mạnh mẽ phục vụ công tác tính toán, lập bảng biểu… Với các bài toán từ đơn giản đến phức tạp, ta đều có thể sử dụng Excel để giải quyết một cách dễ dàng với rất nhiều tính năng sẵn có.

Tìm hiểu về VBA và FORM trong EXCEL MÔN: TIN HỌC ỨNG DỤNG ĐỀ TÀI 12: GVHD : NGUYỄN THANH TÙNG Lớp học phần : 212701803 - 1 - Tìm hiểu về VBA và FORM trong EXCEL DANH SÁCH SINH VIÊN 1.ĐÀO VŨ GIANG THANH 09080311 2.LƯƠNG THỊ ÁI THANH 09080341 3.LÊ ANH SƠN 09084771 4.QUẢN THỊ NHÂM 09221021 - 2 - Tìm hiểu về VBA và FORM trong EXCEL MỤC LỤC  PHẦN I.: Tổng quan về Microsoft Excel I. Khả năng của Excel II. Giao diện của Excel PHẦN II: Visual Basic for Applications (VBA) I.Khái niệm: 1.Visual Basic for Applications (VBA) Là một sự bổ sung của Microsoft's Visual Basic, được xây dựng trong tất cả các ứng dụng Microsoft Office (bao gồm cả phiên bản cho hệ điều hành Mac OS), một số ứng dụng của Microsoft khác như Microsoft MapPoint và Microsoft Visio - một ứng dụng trước đây của Microsoft; ít nhất đã được bổ sung thành công trong những ứng dụng khác như AutoCAD, WordPerfect và ESRI ArcGIS. Nó đã được thay thế và mở rộng trên khả năng của ngôn ngữ macro đặc trưng như WordBasic của Word, và có thể được sử dụng để điều khiển hầu hết tất cả khía cạnh của ứng dụng chủ, kể cả vận dụng nét riêng biệt về giao diện người dùng như các menu và toolbar và làm việc với các hình thái hoặc hộp thoại tùy ý. VBA có thể được sử dụng để tạo ra các bộ lọc xuất nhập cho các định dạng tập tin khác nhau như ODF 2.VBA for Excel II.Tổng quan về VBA 1. Trình tự xây dựng một dự án bằng VBA 2.Cấu trúc của một dự án VBA 3.Môi trường phát triển tích hợp VBA IDE III.Lập trình trên Microsoft Excel 1.Macro là gì? 2.Tạo Macro sử dụng VBA 3.Thực thi Macro trực tiếp từ VBAIDE 4.Tạo hàm mới bằng VBA a.Cấu trúc hàm b.Tạo hàm mới c.Hàm trả về lỗi 5. Lỗi trong VBAIDE 6.Ví dụ đơn giản với VBA PHẦN 3: Hộp thoại tuỳ biến – UserForm I.Khái niệm: II. Tạo mới UserForm III.Các thuộc tính của UserForm IV.Các sự kiện trên giao diện V.Các điều khiển thông dụng TÀI LIỆU THAM KHẢO - 3 - Tìm hiểu về VBA và FORM trong EXCEL - 4 - Tìm hiểu về VBA và FORM trong EXCEL PHẦN I.: Tổng quan về Microsoft Excel I. Khả năng của Excel Microsoft Excel là một phần mềm chuyên xử lý bảng tính của hãng phần mềm nổi tiếng Microsoft. Excel thực sự là một công cụ rất mạnh mẽ phục vụ công tác tính toán, lập bảng biểu… Với các bài toán từ đơn giản đến phức tạp, ta đều có thể sử dụng Excel để giải quyết một cách dễ dàng với rất nhiều tính năng sẵn có: • Khả năng tổ chức dữ liệu mạnh mẽ với hệ thống các ô, vùng dữ liệu, các bảng tính…; • Khả năng xử lý dữ liệu như truy vấn, lọc, tính toán… với hệ thống rất phong phú các hàm cơ bản cũng như các hàm chức năng chuyên biệt; • Khả năng lập báo cáo với cách tổ chức bảng biểu và hệ thống biểu đồ tương đối hoàn • chỉnh; • Khả năng in ấn với nhiều lựa chọn khác nhau. Với cách tổ chức giống như bảng tính thông thường, Excel là một phần mềm bảng tính trực quan và rất dễ sử dụng. Chính bởi điều này khiến cho Excel là một trong những phần mềm được sử dụng phổ biến nhất. II. Giao diện của Excel Giao diện là nơi mà người dùng tương tác với chương trình và một giao diện hợp lý là giao diện quen thuộc với người dùng. Do chuyên về bảng tính, nên giao diện của Excel (như hình dưới) được thiết kế dựa trên sự mô phỏng của cấu trúc bảng tính thông thường. - 5 - Tìm hiểu về VBA và FORM trong EXCEL Các thành phần chính trong giao diện của Excel bao gồm: 1. Thanh trình đơn là nơi chứa các lệnh dùng để gọi đến các chức năng của chương trình.Hệ thống thanh trình đơn được truy cập bằng chuột, và trong một số lệnh phổ biến còn có thể sử dụng tổ hợp phím (ví dụ để lưu bảng tính có thể bấm phím Ctrl+S). 2. Thanh công cụ có rất nhiều thanh công cụ khác nhau, mỗi thanh công cụ chứa các nút lệnh trực quan hoặc các lựa chọn dùng để thực hiện một nhóm chức năng nào đó trong chương trình. Hay nói cách khác, một lệnh có thể được gọi từ thanh công cụ hoặc từ thanh trình đơn. 3. Thanh công thức bao gồm ô chứa địa chỉ của ô hiện hành và ô chứa nội dung của ô hiện hành. Tại đây ta có thể xem được công thức trong một ô nào đó trong khi ô đó vẫn chứa kết quả của công thức đó. 4. Workbook là một tệp tài liệu của Excel. Mỗi Workbook có thể chứa nhiều bảng tính (Worksheet) và các dữ liệu mở rộng khác. Tại mỗi thời điểm chỉ có một worksheet hiện hành và ta chỉ có thể làm việc với worksheet này. 5. Worksheet là loại tài liệu chính trong tệp tài liệu của Excel, mỗi worksheet chứa các ô tính (cell) được tổ chức thành các hàng và cột. PHẦN II: Visual Basic for Applications (VBA) I.Khái niệm: 1.Visual Basic for Applications (VBA) - 6 - Tìm hiểu về VBA và FORM trong EXCEL Là một sự bổ sung của Microsoft's Visual Basic, được xây dựng trong tất cả các ứng dụng Microsoft Office (bao gồm cả phiên bản cho hệ điều hành Mac OS), một số ứng dụng của Microsoft khác như Microsoft MapPoin t và Microsoft Visio - một ứng dụng trước đây của Microsoft; ít nhất đã được bổ sung thành công trong những ứng dụng khác như AutoCAD, WordPerfect và ESRI ArcGIS. Nó đã được thay thế và mở rộng trên khả năng của ngôn ngữ macro đặc trưng như WordBasic của Word, và có thể được sử dụng để điều khiển hầu hết tất cả khía cạnh của ứng dụng chủ, kể cả vận dụng nét riêng biệt về giao diện người dùng như các menu và toolbar và làm việc với các hình thái hoặc hộp thoại tùy ý. VBA có thể được sử dụng để tạo ra các bộ lọc xuất nhập cho các định dạng tập tin khác nhau như ODF. Như tên gọi của mình, VBA khá gần gũi với Visual Basic, nhưng nó chỉ có thể chạy trong ứng dụng chủ chứ không phải 1 chương trình độc lập. Nó có thể được dùng để điều khiển 1 ứng dụng từ 1 OLE tự động (ví dụ, tự động tạo 1 bản báo cáo bằng Word từ dữ liệu trong Excel). VBA có nhiều khả năng và cực kì mềm dẻo nhưng nó có một số hạn chế quan trọng, bao gồm hỗ trợ hạn chế cho các hàm gọi lại. Nó có khả năng sử dụng (nhưng không tạo ra) các thư viện động, và các phân bản sau hỗ trợ cho các mô-đun lớp (class modules). Microsoft có kế hoạch thay thế VBA bằng Visual Studio Tools for Applications (VSTA), một bộ công cụ thay đổi ứng dụng có nền tảng .Net. Tuy nhiên những kĩ thuật này vẫn đang được nghiên cứu, vì vậy ít nhất bộ Office 2007 vẫn sẽ dùng công nghệ VBA. 2.VBA for Excel Microsoft Excel là một công cụ mạnh để phân tích và trình bày thông tin. Một trong những thế mạnh của Excel là ngôn ngữ macro. Kể từ khi ra đời, Excel luôn là chương trình bảng tính có cài ngôn ngữ macro bao quát và linh hoạt nhất trong các phần mềm bảng tính. Để viết macros trong Excel, bạn thật sự cần học hai công cụ khác biệt. Trước hết, bạn cần học cách làm việc với Visual Basic. Mọi kiến thức bạn học về Visual Basic không những áp dụng được trong Excel mà còn cho các phần mềm Microsoft khác. Thứ hai bạn học cách sử dụng Excel. Càng nắm vững sử dụng bảng tính Excel, bạn càng xây dựng hiệu quả các macros. II.Tổng quan về VBA 1. Trình tự xây dựng một dự án bằng VBA • Xác định rõ nhu cầu xây dựng chương trình. • Xác định rõ mục tiêu mà chương trình cần đạt được. • Lựa chọn ứng dụng nền và công cụ lập trình phù hợp cho việc xây dựng chương trình. • Thiết kế hệ thống cho chương trình (hay dự án) - 7 - Tìm hiểu về VBA và FORM trong EXCEL • Viết mã lệnh (lập trình) • Kiểm thử chương trình: là công đoạn hoàn thiện và chuẩn bị đưa chương trình vào sử dụng. • Đóng gói, đưa chương trình vào sử dụng • Tiếp nhận các góp ý, phản hồi của người dùng để bổ sung hay hoàn thiện những khiếm khuyết của chương trình mà trong quá trình thiết kế hệ thống hay kiểm thử đã bỏ qua hoặc chưa phát hiện được • Nâng cấp chương trình 2.Cấu trúc của một dự án VBA • Mô-đun chuẩn (Module): là nơi chứa các mã lệnh khai báo, các chương trình con (hàm và thủ tục). Việc tạo ra các mô-đun chuẩn thường căn cứ theo các khối chức năng mà người thiết kế hệ thống đặt ra. • Mô-đun lớp (Class Module): là nơi chứa định nghĩa cho các lớp của dự án. • Userform: là giao diện dạng hộp thoại giúp cho việc giao tiếp giữa người sử dụng và chương trình được thuận tiện. Thông thường người ta sử dụng Userform để nhập số liệu, xuất kết quả của chương trình. Trong một số dự án, nếu việc nhập số liệu và biểu diễn kết quả được thực hiện trực tiếp trên ứng dụng nền, thì có thể không cần sử dụng Userform. Cấu trúc của dự án thể hiện trên VBA IDE 3.Môi trường phát triển tích hợp VBA IDE Trong Excel, khi sử dụng VBA để lập trình, môi trường lập trình được gọi là Môi trường phát triển tích hợp (viết tắt là VBA IDE). Trên tất cả các ứng dụng nền, VBA IDE có cấu trúc và hoạt động tương đương nhau với giao diện cơ bản và cách gọi giao diện VBA IDE từ ứng dụng nền như sau: • Phím tắt: từ giao diện chính của ứng dụng nền, nhấn tổ hợp phím Alt+F11. • Menu: Tools / Macro/Visual Basic Editor. - 8 - Tìm hiểu về VBA và FORM trong EXCEL 1. Thanh trình đơn (Menu bar): chứa tất cả các lựa chọn cần thiết để thao tác với VBA IDE 2. Cửa sổ dự án (Project Explorer Window): liệt kê dưới dạng cây phân cấp các dự án hiện đang được mở trong VBA IDE và các thành phần có trong từng dự án như các tài liệu thành phần, các mô-đun chứa chương trình con, các mô-đun lớp, các cửa sổ do người dùng tạo. Việc thêm các thành phần mới vào trong một dự án được thực hiện trong menu Insert của VBA IDE. Ví dụ muốn thêm một mô-đun chuẩn vào trong dự án, chọn Insert => Module 3. Cửa sổ mã lệnh (Code Window): mỗi thành phần được liệt kê trong cửa sổ dự án đều có một cửa sổ mã lệnh riêng, chứa mã lệnh cho thành phần đó. Người dùng có thể hiệu chỉnh mã lệnh, tạo ra mã lệnh mới trong cửa sổ mã lệnh. 4. Cửa sổ tra cứu đối tượng (Object Browser Window): hiển thị các lớp, phương thức, thuộc tính, sự kiện và hằng số có trong thư viện đối tượng và trong dự án mà người dùng vừa tạo. Ta có thể sử dụng cửa sổ này để tìm kiếm, tra cứu tất cả các đối tượng mà ta vừa tạo ra cũng như các đối tượng trong các chương trình khác. 5. Cửa sổ đối tượng trực quan (Visual Object Window): khi người dùng tạo các đối tượng trực quan thì cửa sổ này sẽ cho phép người dùng thao tác trên các điều khiển một cách dễ dàng và thuận tiện. 6. Hộp công cụ chứa điều khiển (Tool Box): chứa các thanh công cụ giúp người dùng có thể chèn các điều khiển vào cửa sổ người dùng (UserForm). 7. Cửa sổ thuộc tính (Properties Window): cửa sổ này liệt kê tất cả các thuộc tính của đối tượng, qua đó người dùng có thể tham khảo và thay đổi các thuộc tính khi cần như màu chữ, tên đối tượng… III.Lập trình trên Microsoft Excel Để khởi động VBAIDE, từ cửa sổ chính của Excel, chọn trình đơn Tools/ Macro/Visual - 9 - Tìm hiểu về VBA và FORM trong EXCEL Basic Editor, hoặc có thể sử dụng tổ hợp phím ALT+F11. 1.Macro là gì? Khi làm việc trong Excel, đôi lúc gặp phải những tình huống mà người sử dụng phải lặp đi lặp lại rất nhiều thao tác để thực hiện các nhiệm vụ tương tự nhau, ví dụ như thường xuyên phải định dạng dữ liệu thành một kiểu bảng giống nhau. Điều này rất dễ dẫn đến sự nhàm chán trong công việc. Do đó, khi thiết kế Excel, Microsoft đã đưa ra khái niệm Macro để có thể gói gọn tất cả các thao tác ấy vào một thao tác duy nhất. Macro là tập hợp các lệnh và hàm được lưu trữ trong một mô-đun mã lệnh của VBA nhằm thực hiện một nhiệm vụ nào đó. Macro có thể được tạo bằng cách: • Excel sẽ tự ghi lại thao tác của người dùng khi làm việc trên nó (Macro dạng kịch bản) và khi gọi Macro này, Excel sẽ tự động lặp lại toàn bộ các thao tác trên; • Người dùng tự viết các đoạn mã lệnh để thực hiện các thao tác tương ứng. Sau khi được tạo ra, mỗi khi thực thi Macro, tất cả các thao tác đã được lưu trong Macro sẽ được thực hiện tự động. Về thực chất, Macro là một chương trình con dạng thủ tục (Sub) với từ khoá Public. Tuy nhiên, khác với các thủ tục khác, Macro là thủ tục không có tham số. Chính vì vậy, tất cả các thủ tục với từ khoá Public và không có tham số đều được xem là Macro và sẽ được hiển thị trong trình quản lý Macro của Excel (cách gọi: chọn trình đơn Tools / Macro /Macros hoặc bấm Alt+F8). 2.Tạo Macro sử dụng VBA Trong thực tế, Macro kịch bản không thể đáp ứng được mọi nhu cầu, thông thường nó chỉ đáp ứng tốt những yêu cầu về thao tác cơ bản khi tương tác với Excel. Để khắc phục nhược điểm này, người dùng có thể viết các đoạn mã lệnh riêng với VBA để tạo ra các Macro có khả năng đáp ứng được nhu cầu của mình. Như vậy, ngoài cách tạo Macro theo kịch bản, còn có thể tạo Macro bằng cách lập trình trong VBAIDE. Ví dụ sau minh hoạ cách thức tạo một Macro sử dụng VBA. Mục đich của Macro là định dạng lại phông chữ cho vùng ô đang được lựa chọn trong bảng tính: thay đổi tên phông chữ thành “Time News Roman”, kiểu chữ thành “Italic”, kích cỡ chữ “11”. Tạo Macro sử dụng VBAIDE 1. Trong màn hình chính của Excel, chọn trình đơn Tools/Macro/Visual Basic Editor. 2. Trong màn hình của VBAIDE vừa được hiển thị, chọn trình đơn InsertModule. - 10 - [...]... o n End Sub Sau đó, chọn UserForm và nhấn phím F5 để chạy chương trình Nhập một dòng văn bản vào trong hộp văn bản Kích chuột vào nút Undo, sau đó là nút Redo và theo dõi kết quả - 25 - Tìm hiểu về VBA và FORM trong EXCEL - 26 - Tìm hiểu về VBA và FORM trong EXCEL TÀI LIỆU THAM KHẢO 1 2 3 4 5 Giáo trình tin học văn bản Hướng dẫn sử dụng excel 2003 Xử lí bảng tính trong excel Giáo trình Tự động hóa... người dùng làm quen với VBA IDE trong Excel Kết quả của ví dụ là hiển thị nội dung ô A1 trong Sheet1 của bảng tính lên tiêu đề của một hộp thoại người dùng (UserForm) Trình tự thực hiện như sau: 1 Mở ứng dụng Excel, nhấn tổ hợp phím ALT+F11 để vào VBA IDE 2 Trong VBA IDE, chọn menu Insert / UserForm để thêm một hộp thoại người dùng vào trong dự án - 15 - Tìm hiểu về VBA và FORM trong EXCEL 3 Chọn tiếp menu... Tìm hiểu về VBA và FORM trong EXCEL Hộp thoại tuỳ biến được tạo ra dựa trên UserForm thông qua VBAIDE Thông thường, có thể tạo hộp thoại tuỳ biến theo các bước sau: 1 Tạo mới một UserForm vào trong dự án VBA của Workbook 2 Viết thủ tục để hiển thị UserForm Thủ tục này phải được đặt trong một môđun của VBA (chứ không phải đặt trong mô-đun của UserForm) 3 Chèn thêm các điều khiển cần thiết trên UserForm... trình có thể thay đổi tên của UserForm để dễ dàng nhận dạng UserForm thông qua cửa sổ Properties (chọn UserForm và nhấn phím F4 để hiển thị cửa sổ Properties) - 18 - Tìm hiểu về VBA và FORM trong EXCEL Mỗi một workbook có thể chứa nhiều UserForm khác nhau, mỗi UserForm chính là một hộp thoại tuỳ biến Sau khi tạo UserForm, ta có thể thêm các thành phần điều khiển vào UserForm bằng cách lựa chọn điều khiển... dưới đây: - 23 - Tìm hiểu về VBA và FORM trong EXCEL Trình tự thực hiện như sau: 1 Thêm một UserForm vào dự án 2 Chọn vào UserForm vừa tạo, chọn biểu tượng trong hộp công cụ điều khiển (Control Toolbox) Sau đó, rê thả chuột trên UserForm để tạo một hộp văn bản (TextBox) - 24 - Tìm hiểu về VBA và FORM trong EXCEL 3 Tiếp tục chọn UserForm trên, chọn biểu tượng trong hộp công cụ điều khiển, rê thả chuột... bằng VBA, và đặc biệt, việc sử dụng các hàm mới này không khác gì so với việc sử dụng các hàm có sẵn của Excel Hàm mới luôn mang đặc tính: • Trả về một giá trị nào đó, tương tự như hàm có sẵn trong Excel; - 12 - Tìm hiểu về VBA và FORM trong EXCEL • Hàm mới có thể sử dụng như một chương trình con trong VBA, nghĩa là nó vừa có thể sử dụng trong bảng tính (trong các ô), đồng thời có thể sử dụng trong. .. của người dùng trên giao diện bằng cách viết các mã lệnh trong thủ tục sự kiện Để viết mã lệnh cho một thủ tục sự kiện trên một UserForm, vào cửa sổ mã lệnh của UserForm đó (nháy đúp chuột vào UserForm), chọn điều khiển và loại sự kiện tương ứng Sau đó viết mã lệnh vào trong thủ tục sự kiện đã được tạo ra - 21 - Tìm hiểu về VBA và FORM trong EXCEL CHỌN ĐỐI TƯỢNG CHỌN SỰ KIỆN THỦ TỤC SỰ KIỆN GẮN VỚI... hai cách: 1 Cách 1: Thay đổi trực tiếp trong quá trình thiết kế: chọn điều khiển và thay đổi giá trị của các thuộc tính trong cửa sổ Properties của VBA IDE - 20 - Tìm hiểu về VBA và FORM trong EXCEL 2.Cách 2: Thay đổi trong lúc chương trình đang chạy Ví dụ, ứng với UserForm có tên là UserForm1 như ở trên, có thể thay đổi tiêu đề của nó bằng mã lệnh như sau: UserForm1.Caption = “Cua so chinh” IV.Các... hình dưới đây: - 16 - Tìm hiểu về VBA và FORM trong EXCEL PHẦN 3: Hộp thoại tuỳ biến – UserForm Khi các hộp thoại mặc định trong Excel không đáp ứng được nhu cầu, người lập trình Excel có thể tạo ra các hộp thoại tuỳ biến của riêng mình thông qua các UserForm Với khả năng tuỳ biến cao, người lập trình có thể sử dụng UserForm và các điều khiển trên đó để tạo ra những hộp thoại với nhiều tính năng hơn,... nhật Hàm này có tên là Dien_tich, với hai tham số đầu vào là chiều rộng và chiều cao Kiểu dữ liệu của các tham số là kiểu số thực và giá trị trả về của hàm cũng là kiểu số thực Để tạo một hàm mới, thực hiện theo các bước sau: 1 Khởi động VBAIDE Trong trình đơn Tools, chọn mục Macro/Visual Basic Editor; - 13 - Tìm hiểu về VBA và FORM trong EXCEL 2 Trong trình đơn Insert, chọn mục Module để tạo một mô-đun . LIỆU THAM KHẢO - 3 - Tìm hiểu về VBA và FORM trong EXCEL - 4 - Tìm hiểu về VBA và FORM trong EXCEL PHẦN I.: Tổng quan về Microsoft Excel I. Khả năng của Excel Microsoft Excel là một phần mềm. tổ hợp phím ALT+F11 để vào VBA IDE. 2. Trong VBA IDE, chọn menu Insert / UserForm để thêm một hộp thoại người dùng vào trong dự án. - 15 - Tìm hiểu về VBA và FORM trong EXCEL 3. Chọn tiếp menu. Tìm hiểu về VBA và FORM trong EXCEL MÔN: TIN HỌC ỨNG DỤNG ĐỀ TÀI 12: GVHD : NGUYỄN THANH TÙNG Lớp học phần : 212701803 - 1 - Tìm hiểu về VBA và FORM trong EXCEL DANH SÁCH

Ngày đăng: 15/07/2014, 00:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan