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

Nội dung được viết bởi Tuấn Ba

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é!

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.

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 CÁCH VIẾT HÀM VBA TRONG EXCEL

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

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

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

0 thảo luận

@ 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
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông