0

これはおそらく簡単な修正ですが、私はVBAを初めて使用するため、多少混乱しています。私はモジュールを持っています:

Function classify (r As Range)
Debug.Print("Text")
End Function

Function foo(r As Range)
Debug.Print(r.Count)
End Function

モジュールの前後に動作するコードがあります。

Excelのセルに書き込み=foo(A1)、Enterキーを押すと、次の出力が得られます。

 1 
Text

なんで?foo呼び出しはどのように分類しましたか?さらに、「= classify(A1)」と呼ぶだけで、次のようになります。

Text
Text

分類はどういうわけか常に呼び出されるように設定されていますか?どんな助けでも大歓迎です

4

1 に答える 1

5

問題を再現できる唯一の方法は、次のシナリオを使用することでした。

Cell A1:
=foo(A1)

Cell A2:
=classify(A1)

セルA1を更新すると、

1
Text

これは、セル A2 が A1 への参照を持っているためだと思います。そのため、A1 を更新することで、A1 を参照しているため、A2 の式も呼び出します。

入力している数式が A1 にあると仮定すると、依存関係をトレースして、他の数式がどこにあるかを確認します。

于 2012-12-12T23:35:52.890 に答える