EzTech

Hàm tự viết bằng VBA (UDF)

Hàm tự viết & bổ trợMọi phiên bản
Function TenHam(tham_số_1, tham_số_2) ' viết trong Module của VBA=TenHam(A2, 10%) ' gọi trong ô như hàm có sẵn

Viết một Function trong Module của VBA rồi gọi thẳng trong ô. Làm được cả những việc công thức không làm nổi, đổi lại file phải lưu dạng .xlsm và máy nhận phải cho phép macro.

Các đối số

Đối sốBắt buộc?Ý nghĩa
tham_số_1 …Bắt buộcTự đặt trong dòng Function. Nhận ô, vùng hay giá trị đều được.

Ví dụ

  • =DocSoThanhChu(B2)

    Hàm tự viết đọc số tiền thành chữ để in lên phiếu chi

    Kết quả: Một triệu hai trăm nghìn đồng

Lưu ý khi dùng

  • Alt+F11 mở cửa sổ VBA. Hàm phải nằm trong Module; đặt trong Sheet là ô không gọi được.
  • Kéo hàm tự viết cho vài chục nghìn dòng thì chậm hẳn so với hàm dựng sẵn.

Bẫy hay dính

Lưu file .xlsm thành .xlsx là Excel bỏ luôn phần mã, mọi ô gọi hàm tự viết biến thành #NAME? ở máy người nhận, trong khi máy mình vẫn đúng vì bản .xlsm còn nằm đó. Gửi ra ngoài thì hoặc gửi đúng .xlsm, hoặc dán giá trị trước khi gửi.

Hàm liên quan

Chat ZaloGọi điệnMessengerTìm đường