1

計算を含むワークブックがいくつかあり、それらすべてのシートのデータを組み合わせて「自動概要」を作成しています。データを見つけるには、名前付き範囲を使用します。これらは正常に動作します。
ただし、範囲を参照しない定義済みの名前が 1 つあります。式です。

私が望むのは、概要ブックから (開いている計算書で) その式の結果にアクセスすることです。

wb.Names("myNamedFormula").RefersToRange名前が範囲を参照していないため、明らかに機能しません。
wb.Names("myNamedFormula").Value式は出ますが、結果は出ません。名前のメンバーは結果を取得しません。
を使用して数式を評価しようとしEvaluate(...)ましたが、他のワークブックで評価する必要があるため、これは機能しません。

結果を取得する方法を知っている人はいますか?

ありがとう、

ps:名前が範囲を参照するようにしてから、そこで計算を行う可能性があることは知っていますが、それは望ましくありません。

4

2 に答える 2

3

Application.evaluate ではなく Worksheet.Evaluate を使用する必要があると思います (名前付き数式内のすべての参照は完全修飾絶対参照である必要があることに注意してください)。評価のためにこの構文を試してください

ansa = Workbooks("Book1.xlsb").Worksheets(1).Evaluate(Workbooks("Book1.xlsb").Names("AddNumbers").RefersTo)
于 2012-07-20T11:41:55.267 に答える
2

これは少し厄介ですが、次のとおりです。

数式を計算 wb のセルに追加します=MyNamedFormula (例として、シート 1 のセル A1 を想定します)。

PointsToMyNamedFormula参照する名前を計算 wb に追加しますSheet1!A1

それからあなたは参照することができますwb.Names("PointsToMyNamedFormula").RefersToRange.Value1

于 2012-07-19T13:21:05.787 に答える