2009-05-21 4 views
5

セルに続いて私はExcelのスプレッドシートで定義したVBA機能を使用しようとすると、私が取得

Public Function Distance(X, Y) as Double 

を次のように私はVBAで関数を定義しました私はこの機能を使用しようとします。 "@Dis"とタイプしてドロップダウンメニューを表示し、関数を選択して、@Distance(A1、A2)で終わるパラメータをセルに入力します。

Enterキーを押すと、「その関数は無効です」というエラーが表示されます。

システム全体でマクロを有効にしましたが、古い形式として保存してみました。また、マクロ対応のブック形式は使用できません。

私はこの機能をどのように使用していますか?

答えて

6

は、使用してみてください:

=Distance(A1, A2) 

代わりの

@Distance(A1, A2) 

私は、Excelの関数を呼び出すための正しい文字として@を見たことがありません。

私はExcelで次のことを試みたが、それは魔法のように動作:Module1ので

:セルに

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

=Distance(A1, A2) 

どのprodu CES結果:予想通り

+0

@は、Lotus 1-2-3スプレッドシートの式で使用されました... – ZEE

6

また、機能のVBAコードがのモジュールで、ワークシートのコード領域にないことを確認する必要があります。

3

あなたの関数の名前として予約語を使用しないでください。私は1つの名前Parse()を試して、ParseString()の名前を変更するまでそれを戻しました。

+0

これは私のケースでしたが、他の回答は役に立ちませんでした。 – Taosique

関連する問題