Khi sử dụng Excel, chúng ta thấy có rất nhiều hàm có sẵn trong đó. Bạn có bao giờ nghĩ rằng bạn cũng có thể tạo riêng cho mình 1 hàm theo ý muốn không? Hãy cùng Học Excel Online tìm hiểu cách viết hàm tự tạo trong Excel bằng VBA ngay nào.
Đang xem: Cách thêm hàm trong excel
Khi viết code trong VBA chúng ta không chỉ viết được các Sub (thủ tục), mà chúng ta còn có thể viết được các Function (chức năng, hàm).
Các Function này có thể sử dụng trong môi trường VBA hoặc trong môi trường Excel. Cách sử dụng Function giống như việc sử dụng hàm trong Excel, do đó có thể gọi Function là các hàm tự tạo trong VBA.
Xem thêm: Bài Tập Ôn Tập Chương 1 Hình Học 6 Violet, Đề Cương Ôn Tập Chương 4 Đại Số 8 Violet
Cú pháp của Function:
Function Tên(
Nội dung Function
End Function
Khi viết Function, bạn có thể viết 2 kiểu:
Không quy định rõ kiểu giá trị trả về của Function
Function Tên(
Nội dung Function
End Function
Có quy định rõ kiểu trả về của Function
Function Tên(
Nội dung Function
End Function
Hàm bắt buộc phải có tham số sử dụng và Nội dung Function phải chỉ rõ hàm nhận kết quả như thế nào (có dòng Tên hàm = …. trong nội dung)
Để cho dễ hình dung, chúng ta hãy cùng xem một số ví dụ về Function như sau:
Chúng ta biết để tính diện tích của 1 hình chữ nhật, ta lấy chiều rộng * chiều dài.
Xem thêm: Nghị Luận Xã Hội Về Vấn Đề Thực Phẩm Bẩn Văn Nghị Luận Về Thực Phẩm Bẩn Hiện Nay
Trong Excel, hàm thực hiện phép nhân là hàm Product. Chúng ta viết hàm như sau:
Thế nhưng bạn không muốn dùng hàm này, mà muốn gọi 1 hàm có tên là DienTich. Trong Excel không có sẵn hàm này, do đó bạn sẽ tự viết hàm đó trong VBA như sau:
Trong đó:
Tên Function là DienTichHàm gồm 2 tham số là ChieuRong và ChieuDaiGiá trị của hàm là kết quả của phép tính ChieuRong * ChieuDai
Khi đã viết xong Function, quay trở lại Excel chúng ta thấy khi viết từ khóa liên quan tới DienTich, Excel sẽ gợi ý cho bạn hàm này:
Gán giá trị vào các tham số của hàm:
Kết quả của hàm là:
Dòng cuối cùng có dữ liệu trong bảng dữ liệu rất hay được sử dụng trong lập trình VBA. Cú pháp thông thường là:
Thay vì việc mỗi lần cần sử dụng chúng ta lại phải viết lại toàn bộ cú pháp, chỉ thay đổi ở Tên Sheet và Số cột thì chúng ta có thể viết Function để cho nhanh hơn, dễ viết hơn:
Khi đó muốn xác định dòng cuối có dữ liệu trong Cột nào, Sheet nào, chúng ta chỉ việc gọi tên Sheet, Số cột trong Function Lastrow là được.