2009-05-21 17 views
5

tôi định nghĩa một hàm trong VBA như sauKhi tôi cố gắng sử dụng một hàm VBA mà tôi đã được định nghĩa trong một bảng tính Excel, tôi nhận được "Đó không phải là một chức năng hợp lệ"

Public Function Distance(X, Y) as Double 

Sau đó, trong một tế bào Tôi cố gắng sử dụng chức năng. Tôi gõ "@Dis" và lấy menu thả xuống, chọn chức năng và sau đó nhập các tham số kết thúc bằng @Distance (A1, A2) trong ô.

Khi tôi nhấn Enter, tôi nhận được lỗi "Chức năng đó không hợp lệ".

Tôi đã bật macro trong toàn bộ hệ thống, đã thử lưu dưới dạng định dạng cũ và dưới dạng định dạng bảng tính được bật macro thành không có sẵn.

Việc sử dụng chức năng này có vấn đề gì?

Trả lời

6

Hãy thử sử dụng:

=Distance(A1, A2) 

Thay vì

@Distance(A1, A2) 

Tôi chưa từng thấy @ như ký tự chính xác để gọi một hàm trong Excel.

Tôi đã thử các sau đây trong Excel, và nó hoạt động như một nét duyên dáng:

Trong Module1:

Public Function Distance(X as Double, Y as Double) as Double 
    Distance = 10 
End Function 

Trong một tế bào:

=Distance(A1, A2) 

Mà produ ces kết quả:

như mong đợi.

+0

@ đã được sử dụng trong các công thức trong bảng tính Lotus 1-2-3 ... – ZEE

6

Bạn cũng sẽ cần đảm bảo rằng mã VBA cho hàm của bạn nằm trong một mô-đun Mô-đun và không nằm trong vùng mã của Trang tính.

3

Đừng sử dụng những từ dành riêng như tên của các chức năng của mình. Tôi đã thử một tên Parse() và nó đá nó trở lại cho đến khi tôi đổi tên nó ParseString().

+0

Đây là trường hợp của tôi, các câu trả lời khác không hữu ích. – Taosique

Các vấn đề liên quan