1. Trang chủ
  2. » Công Nghệ Thông Tin

Function và sub trong VBA excel

3 1,2K 15

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 378,42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

FUNCTION VÀ SUB TRONG VBA EXCEL Sự khác biệt giữa một function và một sub trong Excel VBA là: một function có thể trả về một giá trị, trong khi một Sub thì không, nó thực hiện các công

Trang 1

FUNCTION VÀ SUB TRONG VBA EXCEL

Sự khác biệt giữa một function và một sub trong Excel VBA là: một

function có thể trả về một giá trị, trong khi một Sub thì không, nó thực

hiện các công việc nào đó do người lập trình mong muốn bằng các đoạn

code Function và sub rất hữu ích khi chương trình VBA bạn viết có kích

thước lớn, xử lý nhiều công việc

File bài tập đính kèm (Bạn tải về cùng nhé)!

Function

Nếu bạn muốn Excel VBA thực hiện một nhiệm vụ mà trả về một giá trị, ta dùng function Đặt một function vào một module (Trong Visual Basic Editor, nhấn Insert, Module) Ví dụ, chức năng với tên Area

Function Area(x As Double, y As Double) As Double

Area = x * y

End Function

Giải thích: Hàm này có hai tham số (argument) kiểu Double và trả về giá trị kiểu

Double Bạn có thể gọi hàm trong code của bạn để lấy kết quả trả về như mong muốn (ở đây là x * y)

Bây giờ ta có thể tham khảo chức năng này (gọi hàm này) trong đoạn code của bạn bằng cách sử dụng tên hàm và truyền giá trị cho các đối số

Đặt command button vào worksheet của bạn và paste đoạn code bên dưới:

Dim z As Double

Trang 2

z = Area(3, 5) + 2

MsgBox z

Giải thích: Hàm Area trả về một giá trị, bạn có để dùng giá trị này trong code của

bạn Ta dùng một biến khác (z) để làm điều đó: Lấy giá trị của hàm Area(3, 5) cộng thêm

2, và hiển thị giá trị của biểu thức (z) bằng MsgBox

Kết quả khi click vào command button:

Sub

Nếu bạn muốn Excel VBA thực hiện một số hành động nào đó, bạn có thể sử dụng Sub Đặt một Sub vào một module (Trong Visual Basic Editor, nhấn Insert, Module) Ví

dụ Sub Area

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Giải thích: Sub này có hai đối số (kiểu Double ) Nó không trả về một giá trị cụ thể,

bạn có thể tham chiếu Sub này (gọi sub) từ các nơi khác trong code của bạn bằng cách sử dụng tên của Sub và truyền vào giá trị cho các đối số

Đặt command button vào worksheet của bạn và paste đoạn code bên dưới:

Trang 3

Area 3, 5

Kết quả khi click vào command button:

Bạn có thể thấy sự khác biệt giữa các function và Sub? Function trả về giá trị 15 Ta

có thể cộng thêm 2 cho kết quả này và hiển thị giá trị cuối cùng Còn khi gọi sub chúng ta không sử dụng kết quả (15) để xử lý được, bởi vì Sub không trả về một giá trị! Sub thực hiện hành động mà người lập trình yêu cầu

Ngày đăng: 27/08/2015, 00:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w