1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

27 3K 7

Đ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

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,31 MB

Nội dung

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ó.

Trang 2

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

Trang 3

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

Trang 5

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ầnmề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

Trang 6

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ệnhà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 ô

Trang 7

Là một sự bổ sung của Microsoft'sVisual 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ủaMicrosoft 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à ESRIArcGIS 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ềukhiể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 trongnhững thế mạnh của Excel là ngôn ngữ macro Kể từ khi ra đời, Excel luôn là chươngtrì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ềmbả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ầnhọ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ọccá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ệuquả 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ươngtrình

• Thiết kế hệ thống cho chương trình (hay dự án)

Trang 8

• 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

Trang 9

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ườidù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 racũ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ượngtrự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 đốitượ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àuchữ, 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

Trang 10

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ịchbả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.

Trang 12

3.Thực thi Macro trực tiếp từ VBAIDE

Cách thực thi Macro trực tiếp từ VBAIDE rất thích hợp khi người sử dụng muốn thử nghiệm ngay Macro trong quá trình xây dựng nó

Để thực thi Macro nào đó trong VBAIDE, cần thực hiện như sau:

1 Trong cửa sổ mã lệnh của VBAIDE, đặt con trỏ vào giữa khối Sub … End Sub.

2 Nhấn phím F5 hoặc chọn biểu tượng trên thanh công cụ

Thực thi Macro trực tiếp từ VBAIDE

4.Tạo hàm mới bằng VBA

Excel cho phép xây dựng các hàm mới bằng VBA, và đặc biệt, việc sử dụng các hàm mớinà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;

Trang 13

• 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ác chương trình viết bằng VBA

Private: (tuỳ chọn) là từ khoá biểu thị phạm vi của hàm, hàm chỉ có thể được sử dụng bên trong mô-đun có chứa hàm đó Khi có từ khoá Private, tên hàm sẽ khôngđược hiển thị trong danh sách hàm của Excel, nhưng người sử dụng vẫn có thể dùng hàm này trong bảng tính một cách bình thường

CHÚ Ý Nếu không khai báo phạm vi cho hàm (từ khoá Public/Private), thì mặc định,

hàm sẽ có phạm vi là Public

Function: (bắt buộc) là từ khoá báo hiệu bắt đầu một hàm

Tên_hàm: (bắt buộc) là tên của hàm, cách đặt tên hàm tương tự như cách đặt tên của biến

Tên_hàm sẽ được sử dụng như là biến trong toàn bộ hàm, khi hàm kết thúc giá trị trả về của hàm chính là giá trị đã gán cho biến Tên_hàm cuối cùng

Danh_sách_tham_số: (tuỳ chọn) là danh sách các tham số đầu vào của hàm Các tham số được phân cách với nhau bằng dấu phẩy

Kiểu_dữ_liệu: (tuỳ chọn) quy định kiểu giá trị trả về của hàm Nếu không quy địnhkiểu dữ liệu, hàm sẽ có kiểu dữ liệu mặc định là Variant

Exit Function: (tuỳ chọn) là câu lệnh dùng để kết thúc hàm ngay lập tức (cho dù phía sau câu lệnh này vẫn còn các khối lệnh khác)

End Function: (bắt buộc) là từ khoá báo hiệu kết thúc một hàm

b.Tạo hàm mới

Ví dụ

Hàm tính diện tích hình chữ 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;

Trang 14

2 Trong trình đơn Insert, chọn mục Module để tạo một mô-đun mới, nơi sẽ chứa hàm do

người dùng định nghĩa

3 Trong trình đơn Insert, chọn mục Procedure… để hiển thị hộp thoại Add Procedure Sau đó điền tên hàm vào mục Name, chọn kiểu chương trình con là Function và phạm vi

là Public Cuối cùng chọn OK;

4 Chương trình sẽ tự động phát sinh đoạn mã lệnh như sau:

Pu b l i c Fu n c t i o n D i e n _ Ti c h ( )

E n d Fu n c t i o n

5 Thay đoạn mã lệnh trên bằng đoạn mã lệnh thích hợp

Public Function Dien_Tich(Rong As Double, Cao As Double) As Double

‘Ham tinh dien tich hinh chu nhat

Dien_Tich = Rong * Cao

End Function

6 Trong trình đơn File, chọn mục Close and Return to Microsoft Excel để quay trở về

màn hình chính của Excel

7 Lúc này, hàm mà ta vừa xây dựng, có tên là Dien_Tich, đã có thể được sử dụng bình

thường như các hàm khác của Excel

c.Hàm trả về lỗi

một số giá trị lỗi cũng như các hằng số tương ứng trong VBA

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

w