MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Function trong VBA: Có gì khác so với Sub (Procedure)

Trong bài này chúng ta sẽ tìm hiểu về function trong VBA, cách tạo function và so sánh với một loại function khác, đó là Sub (thủ tục).

Có một số ngôn ngữ sẽ gom hai loại này thành một, nhưng với một số ngôn ngữ khác như Pascal và VBA thì phải sử dụng công thức riêng để phân biệt. Cụ thể thế nào thì chúng ta cùng tìm hiểu nhé.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Function VBA là gì?

Function là một hàm do người dùng tự định nghĩa, gồm tập hợp nhiều đoạn code xử lý một chức năng nào đó và cuối cùng sẽ trả về một giá trị nhất định.

Function có khái niệm giống như Sub, chỉ có sự khác biệt duy nhất là:

  • Function có giá trị trả về
  • Sub không có giá trị trả về

Bản thân VBA cũng có những function có sẵn, đây là những thư viện mà VBA tạo ra nhằm hỗ trợ lập trình viên.

Ví dụ: Để tính căn bậc hai của một số thì ta sẽ sử dụng hàm Sqr().

Sqr(12)  ' sẽ bằng 3

2. Cú pháp function trong VBA

Trong VBA, để tạo function thì ta sử dụng cú pháp sau:

Function FunctionName([parameter-list]) As [data-type]
   statement 1
   statement 2
   statement 3
   .......
   statement n
   FunctionName = value
End Function

Trong đó:

  • FunctionName là tên của function mà bạn muốn đặt
  • [parameter-list] là danh sách các tham số
  • [data-type] là kiểu dữ liệu mà function sẽ trả về
  • FunctionName = value, đây là dòng bắt buộc, ý nó muốn gán value (gia trị trả về) vào FunctionName.

* Lưu ý: Bạn có thể không cần phải gán giá trị trả về. Tuy nhiên, trường hợp này thì bạn nên sử dụng Sub để thay thế.

3. Ví dụ tạo function trong VBA

Mình sẽ làm một ví dụ thật đơn giản nhé: Hãy viết chương trình tìm số lớn nhất trong ba số.

Function findMax(a As Integer, b As Integer, c As Integer) As Integer
    Dim max As Integer
    max = a
    
    If (max < b) Then
        max = b
    End If
    If (max < c) Then
        max = c
    End If
    
    findMax = max
End Function

Ta có thể áp dụng hàm này để giải một bài toán thực tế nhưu sau: Hãy nhập 3 số nguyên vào các ô A1, A2 và A3, sau đó in ra số lớn nhất vào ô B1

B1. Tạo một command button.

tao command button JPG

Ta sẽ viết cho sự kiện click vào button thì tìm số lớn nhất và in vào B1

B2. Viết code cho sự kiện click vào button.

Private Sub CommandButton1_Click()
    Dim max As Integer
    max = findMax(Range("A1").value, Range("A2").value, Range("A3").value)
    Range("B1").value = max
End Sub

B3. Ra ngoài Excel bạn thử click vào button thì sẽ thấy kết quả như sau:

ket qua findmax JPG

Đấy là một ví dụ rất đơn giản về cách sử dụng function trong VBA. Thực tế thì có rất nhiều function được định nghĩa sẵn trong VBA và mình sẽ trình bày nó ở một bài khác.

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top