Hướng dẫn tạo và sử dụng Function trong excel

Tuấn Ba
Tuấn Ba
Jan 05 2021

Việc lặp đi lặp lại một đoạn code trong khi viết VBA làm chúng ta phải viết lại rất nhiều, mà code không được sáng, không dễ đọc, nhìn không được chuyên nghiệp, code bị rối vậy có phương án nào giải quyết bài toán đó không? Cách giải quyết là các bạn tạo ra Function trong Excel (Hàm tự tạo) để giải quyết vấn đề. Cùng Gitiho tìm hiểu nhé!

Tham gia ngay khóa học Tuyệt đỉnh VBA - Viết code trong tầm tay

Tìm hiểu về Function

Function là gì?

Function(hàm) là tập hợp các câu lệnh để thực hiện công việc nào đó, hàm có thể gọi trong nhiều chỗ, thường là hàm chung để người dùng gọi ra thực hiện công việc khác nhau.

Tại sao cần sử dụng Function?

Function có thể được sử dụng lại nhiều lần, chỉ việc gọi Function ra là có thể sử dụng lại được.
Function có thể sử dụng được toàn bộ hệ thống nếu viết dưới dạng Add-ins rồi mang đi cài vào các máy.

Những Function phổ biến thường gặp

Tất cả những hàm trong Excel đều được gọi là một Function.

Function trong Excel chia thành 2 loại Function có đối số và Function không có đối số.

  • Function không có đối số gồm những hàm như Now, Today...
  • Function có đối số chia làm 2 loại một loại có giá trị mặc định một loại không
    • Function có giá trị mặc định như hàm IF , VLOOKUP...nếu không truyền value_if_false thường phân biệt giá trị không cần truyền vào sẽ nằm trong giống ngoặc []
    • Function bắt buộc truyền đầy đủ đối số như hàm AND, OR...
      Ngoài ra còn các loại Function chúng ta tự tạo ra để sử dụng và được đặt một cái tên không trùng với tên của Function trong Excel

Cách tạo ra Function trong Excel

Cú pháp của Function

Function TenFunction(doiso as kieudulieu) as kieuketqua
    // Code tạo ra Functon
   TenFunction = ??
End function

Trong cú pháp tạo Function phần kiểu dữ liệu trả ra kết quả có thể có hoặc không? Tuỳ từng trường hợp các bạn có thể đưa ra kiểu kết quả trả ra cho Function.

Lưu ý: Tên Function phải là tên duy nhất và không trùng với biến, hàm có sẵn trong Excel

Option Explicit
Function ChuHoa(Chuoi As String) As String
    ChuHoa = Application.WorksheetFunction.Trim(UCase(Chuoi))
End Function

Với hàm tự tạo trên sau khi viết xong hàm bạn có thể ra ngoài bảng tính Excel gõ từ khoá =ChuHoa("Gitiho") >> GITIHO
Function tự tạo có thể có tham số truyền vào hoặc không.

Xem thêm: Tìm hiểu về cách tự tạo hàm Excel trong VBA

Function NgayDiaDanh(So As Variant, Optional DiaDanh As String = "")
Dim bdate As Date
If Trim(So) = "" Or So = 0 Then
   NgayDiaDanh = ", ngày tháng  n" &ChrW(462) & "m"
Exit Function
Else
Dim mngay As String, mthang As String, mnam As String
If Day(So) < 10 Then
     mngay = "0" & Day(So)
Else
    mngay = Day(So)
End If
If Month(So) < 3 Then
        mthang = "0" & Month(So)
Else
        mthang = Month(So)
End If
mnam = Year(So)
If (DiaDanh = "") Then
        NgayDiaDanh = "Ng" &
ChrW(224) & "y " & mngay & " Th" &
ChrW(225) & "ng " & mthang & " N" & ChrW(462)
& "m " & mnam
   
Else
        NgayDiaDanh = DiaDanh & "
,Ng" & ChrW(224) & "y " & mngay & "
Th" & ChrW(225) & "ng " & mthang & "
N" & ChrW(462) & "m " & mnam
End If
Exit Function
End If
End Function

Tham số Optional trong truyền vào của Function sẽ cho chúng ta có thể truyền tham số hoặc không truyền tham số vào hàm hoặc có thể cố định tham số. Như Function ở trên là Function chúng ta có thể truyền hoặc không truyền tham số vào trong hàm chúng ta có thể gõ hàm là
= NgayDiaDanh(ngày) hoặc = NgayDiaDanh( ngày,”Gitiho”)

Lưu ý: Kiểu truyền vào là kiểu nào thì các bạn truyền kiểu dữ liệu đó nhé.

Trong tham số trên Gitiho kiểu string nên địa danh cần truyền kiểu string vào, các bạn chưa hiểu rõ có thể xem lại trong khoá VBAG01 - Tuyệt đỉnh VBA để biết rõ về kiểu dữ liệu nhé.

Tổng kết

Tóm lại, Function là hàm chúng ta có thể tự tạo theo mục đích nào đó, tuỳ theo mục đích công việc của chúng ta. Gitiho.com hi vọng bài viết này sẽ hữu ích với bạn và giúp bạn làm việc hiệu quả hơn. Đừng quên theo dõi chúng mình để đọc những bài viết vô cùng bổ ích nhé.

Hướng dẫn tìm kiếm và lọc dữ liệu tự động bằng Textbox trong Excel VBA

Hướng dẫn hiện thẻ Developer để ghi Macro hoặc viết code VBA trong Excel

Unicode tiếng việt khi viết trong VBA

HƯỚNG DẪN CÁCH VIẾT HÀM VBA TRONG EXCEL

Cách sử dụng hàm MsgBox() để tạo hộp thông báo với VBA

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Hướng dẫn về một số hàm DAX căn bản trong Power Pivot (Phần 2)

Hướng dẫn về một số hàm DAX căn bản trong Power Pivot (Phần 2)

Hướng dẫn cách phân biệt Data Table với Lookup Table trong Power Pivot

Hướng dẫn cách phân biệt Data Table với Lookup Table trong Power Pivot

Hướng dẫn cách mở thẻ Power Pivot trên thanh Menu của Excel

Hướng dẫn cách mở thẻ Power Pivot trên thanh Menu của Excel

Hướng dẫn cách phân biệt giữa Power Pivot và Pivot Table

Hướng dẫn cách phân biệt giữa Power Pivot và Pivot Table

Hướng dẫn cách kết nối các bảng trong Power Pivot

Hướng dẫn cách kết nối các bảng trong Power Pivot

Hướng dẫn cách đổi tên bảng và tên cột trong Power Pivot

Hướng dẫn cách đổi tên bảng và tên cột trong Power Pivot

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội