1

テキスト文字列を数式に変換しようとしていますが、2 つのワークシート間のリンクを記述しているため、テキスト文字列は少し変わっています。開始式は次のとおりです。

+TEXT("+'X:\Deals\ONE-PAGERS\_One-pagers (vM)\["&TRIM(LEFT(SUBSTITUTE($B9," ",REPT(" ",30)),64))&" vM.xlsx]Metrics'!$D$8",1)

多数のスプレッドシートを手動でリンクする必要がないように、この式を作成しました。セルの最初の 2 つの単語をキャプチャし、数式の場合はリンクを確立するテキスト文字列に配置します。このように、会社名をセル B9 に入力するだけで、この式によって必要なリンクを説明するテキスト文字列が生成されます。式の出力は次のとおりです。

+'X:\Deals\ONE-PAGERS\_One-pagers (vM)\[xxx vM.xlsx]Metrics'!$D$8

ご覧のとおり、これが数式の場合Cell D8xxxワークシートの値を返すリンクが生成されます。評価の回避策 (以下を参照) と間接関数を試しましたが、どちらも機能していないようです。これが意味をなさない場合はお知らせください。ご協力いただきありがとうございます。

Function EvalCell(RefCell As String)
Application.Volatile
EvalCell = Evaluate(RefCell)
End Function
4

1 に答える 1

0

Evaluate と INDIRECT はどちらもソース ワークブックが開いている必要がありますが、ExecuteExcel4Macro を使用できます。

Function EvalCell(RefCell As String)
Application.Volatile True
application.ExecuteExcel4Macro(application.convertformula(mid$(RefCell, 2), xlA1, xlr1c1))
End Function

ただし、これらの関数をあまり使用しないでください。

于 2014-06-03T16:10:44.260 に答える