Blog Tin Học

Tạo hàm tùy chỉnh trong Excel

Bây giờ bạn đã sẵn sàng sử dụng hàm DISCOUNT mới. Đóng Trình Visual Basic Thảo, chọn ô G7, rồi nhập nội dung sau:

=DISCOUNT(D7,E7)

Xem thêm: Tạo hàm mới trong excel

Excel tính toán chiết khấu 10 phần trăm cho 200 đơn vị với $47,50 mỗi đơn vị và trả về $950,00.

Trong dòng thứ nhất của mã VBA, Function DISCOUNT(quantity, price), bạn đã chỉ ra rằng hàm DISCOUNT yêu cầu hai đối số, số lượng và giá. Khi bạn gọi hàm trong một ô trang tính, bạn phải bao gồm hai tham đối đó. Trong công thức =DISCOUNT(D7;E7), D7 là đối số quantity và E7 là đối số giá. Now you can copy the DISCOUNT formula to G8:G13 to get the results shown below.

Tham khảo: Hướng dẫn cách in Excel trên 1 trang giấy A4

Hãy xem xét cách thức Excel quy trình của hàm này. Khi bạn nhấn Enter, Excel tìm tên DISCOUNT trong sổ làm việc hiện tại và thấy rằng nó là một hàm tùy chỉnh trong một mô-đun VBA. Tên đối số được đặt trong dấu ngoặc đơn, số lượng và giá ,là chỗ dành sẵn cho các giá trị mà tính toán chiết khấu dựa trên đó.

Biểu mẫu thứ tự ví dụ với một hàm tùy chỉnh

Câu lệnh If trong khối mã sau đây kiểm tra đối số số lượng và xác định xem số lượng mặt hàng đã bán lớn hơn hoặc bằng 100:

If quantity >= 100 Then DISCOUNT = quantity * price * 0.1 Else DISCOUNT = 0 End If

Nếu số mặt hàng đã bán lớn hơn hoặc bằng 100, VBA thực thi câu lệnh sau đây, nhân giá trị số lượng với giá trị giá, rồi nhân kết quả với 0,1:

Discount = quantity * price * 0.1

Kết quả được lưu dưới dạng biến Chiết khấu. Câu lệnh VBA lưu trữ giá trị trong biến được gọi là câu lệnh nhiệm vụ, vì câu lệnh này đánh giá biểu thức ở bên phải dấu bằng và gán kết quả cho tên biến ở bên trái. Vì biến Discount có cùng tên với thủ tục hàm, giá trị được lưu trữ trong biến được trả về cho công thức trang tính có tên là hàm DISCOUNT.

Tham khảo: Bạn đã biết cách nhập dữ liệu trong Excel bằng form tự tạo hay chưa?

Nếu số lượng nhỏ hơn 100, VBA thực thi câu lệnh sau đây:

Discount = 0

Cuối cùng, câu lệnh sau đây làm tròn giá trị được gán cho biến Chiết khấu thành hai vị trí thập phân:

Discount = Application.Round(Discount, 2)

VBA không có hàm ROUND nhưng hàm Excel đúng. Do đó, để sử dụng ROUND trong câu lệnh này, bạn cần yêu cầu VBA tìm kiếm phương pháp Round (function) trong đối tượng Application (hàm Excel). Bạn làm điều đó bằng cách thêm từ Application trước từ Round. Sử dụng cú pháp này bất cứ khi nào bạn cần truy nhập Excel từ mô-đun VBA.

Tham khảo: Cách in trang chẵn lẻ trong Excel

Bình chọn
5/5
Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Khám phá nhiều chủ đề khác