2012-04-22 9 views
5

私はExcel 2010を使用しており、スプレッドシートのモジュールで次の3つの機能を定義しています。関数名に応じて#REFを生成するExcel VBA関数?

Option Explicit 

Public Function AAA() As Double 

    AAA = 3 
End Function 

Public Function AAA2() As Double 

    AAA2 = 4 
End Function 


Public Function AAA3AAA() As Double 

    AAA3AAA = 5 
End Function 

Iが第二の機能は、#REFエラーを生成する3つの隣接セル

=AAA() 
=AAA2() 
=AAA3AAA() 

に以下を入力して、私のスプレッドシート内の3つの機能を参照します。他の機能は期待通りに機能します。誰がなぜこれが起こっているのか知っていますか?私が求めているのは、Office XPからOffice 2010にアップグレードしたときにマクロのいくつかが機能しなくなってしまうことです。かなりの実験の後、機能名自体が原因だと思われますか? Office XPからExcelにエラーは発生しませんでした。

答えて

6

同じことが私に起こりました。私が気づくのは、他の2つのセルと違い、「AAA2」はセルのアドレスのテキストである可能性があるということです。私はそれが問題だと思う。

+0

それだけです。私の正確な関数名は上記の例とは異なりましたが、セルアドレスとして解釈されている可能性があります。 – thatshowthe

+0

忘れました....ありがとう! – thatshowthe

+0

+ 1 RBarryYoung :) @thatshowthe:したがって、関数/プロシージャ/変数の名前を適切にすることは重要です:)ポイント3を参照してください。http://siddharthrout.wordpress.com/2011/08/01/to-err-is -human/ –