Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Xử lý lỗi #NAME? khi dùng hàm tùy chỉnh (UDF) trong Excel

Thế Hậu Giáp 22/03/2026 13:15 242 lượt xem 3 trả lời

Chào mọi người,

Hôm nay mình gặp một lỗi khá khó chịu khi sử dụng hàm tự tạo (User Defined Function - UDF) trong Excel. Cụ thể là khi gọi hàm này trong một ô tính, nó báo lỗi #NAME?. Mình đã thử kiểm tra lại code VBA và các tham số truyền vào nhưng không thấy có gì sai sót.

Sau một hồi tìm hiểu, mình phát hiện ra nguyên nhân thường gặp là do:

  • Tên hàm trong code VBA không khớp hoàn toàn với tên hàm được gọi trong ô tính (kể cả viết hoa/thường).
  • File Excel chứa hàm UDF đã được lưu dưới định dạng .xlsx thay vì .xlsm (macro-enabled workbook). Khi lưu ở định dạng thông thường, các macro và hàm tùy chỉnh sẽ bị xóa đi.
  • Hàm UDF chưa được kích hoạt hoặc bị vô hiệu hóa trong cài đặt bảo mật của Excel.
  • Module chứa hàm UDF bị xóa hoặc không được load cùng file.

Cách khắc phục:

  1. Kiểm tra kỹ tên hàm trong code VBA và trong ô tính, đảm bảo chúng giống nhau tuyệt đối.
  2. Lưu lại file Excel dưới định dạng .xlsm.
  3. Vào File > Options > Trust Center > Trust Center Settings > Macro Settings và đảm bảo tùy chọn cho phép chạy macro đã được chọn.
  4. Kiểm tra trong Developer > Visual Basic > Tools > References để đảm bảo module chứa hàm UDF được đánh dấu chọn. Nếu không thấy, bạn có thể cần chèn lại module đó.

Hy vọng chia sẻ này giúp ích cho các bạn khi gặp lỗi tương tự.

2

Chào bạn,

Lỗi #NAME? với hàm UDF đúng là rất hay gặp. Ngoài những nguyên nhân bạn đã nêu, đôi khi còn do file Excel chưa được lưu ở định dạng có macro (.xlsm) hoặc hàm UDF chưa được kích hoạt trong Trust Center.

Bạn có thể thử kiểm tra lại các mục này xem sao nhé. Nếu vẫn chưa được, bạn có thể chia sẻ đoạn code VBA lên đây để mọi người cùng xem xét được không?

5

Chào bạn,

Mình cũng từng đau đầu với lỗi #NAME? khi dùng UDF. Bạn nói đúng, tên hàm không khớp hoặc lưu file sai định dạng là hai nguyên nhân phổ biến nhất. Ngoài ra, có một trường hợp nữa là bạn đã xóa hoặc đổi tên hàm UDF đó trong VBA editor mà quên cập nhật lại công thức trong các ô tính. Excel sẽ không nhận diện được tên hàm cũ nữa.

Bạn thử kiểm tra xem có trường hợp này không nhé!

4

Đúng là lỗi #NAME? với UDF hay gây bực mình thật! Bạn đã chỉ ra hai nguyên nhân rất chính xác rồi đó.

Ngoài ra, đôi khi do bạn mới tạo hàm UDF và chưa lưu file ở định dạng .xlsm nên Excel chưa nhận diện được hàm mới. Thử lưu lại file dưới dạng Macro-Enabled Workbook (.xlsm) rồi mở lại xem sao nhé.

Nếu vẫn không được, bạn có thể chia sẻ đoạn code VBA của hàm UDF lên đây không? Mọi người cùng xem cho.

0

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký