1

Excel 2010 でダイナミック リンクを作成しようとしています。以下では、参照する親フォルダー ブックを提供する関数を作成しました。LEFT キーワードに ' を追加しようとすると、Excel はそれを受け入れません。私がやろうとしているのは、親フォルダーのワークブックを参照することであり、親フォルダーが移動されたときにすべてのファイルがリンクされたままになるようにしたいです。

私の質問は、以下の LEFT 関数からリンクを作成する方法です。ありがとう

=LEFT(CELL("filename"),LARGE((MID(CELL("filename"),ROW(1:255),1)="\")*IFERROR(SEARCH("\",CELL("filename"),ROW(1:255)),0),2)) & CONCATENATE("[Book1.xlsx]Sheet1'!$A$1")
4

2 に答える 2

1

左の式が正しい(テストされていない)と仮定すると、これは機能するはずです。

=INDIRECT("'["& LEFT(CELL("filename"),LARGE((MID(CELL("filename"),ROW(1:255),1)="\")*IFERROR(SEARCH(" \",CELL("filename"),ROW(1:255)),0),2))&"Book1.xlsx]Sheet1'!$A$1")
于 2012-05-02T23:25:05.553 に答える
0

ファイルへのリンクを作成するには、フルパスを入力し、数式に直接参照する必要があります(INDIRECTは機能しません)。親フォルダへのリンクをアクティブセルに配置する1つの方法は、次のVBAコマンドを使用することです。

activecell = "='" & activeworkbook.path & "\..\[Book1.xlsx]Sheet1'!$A$1"

パスは、前のリンクされた質問への回答で述べられているように、ワークブックを基準にして保存されます。次のようなudfを使用して、閉じたブックから値を取得することもできます。

Function Eval(Text As String)
Set xl = CreateObject("excel.application")
eval = xl.ExecuteExcel4Macro(Application.ConvertFormula(Text, xlA1, xlR1C1, True))
Set xl = Nothing
End Function

または、INDIRECT.EXT関数を持つLaurent LongreのMorefunc.xll無料アドインをダウンロードします(ただし、これらのメソッドは効率が低く、リンクが作成されないため、フォルダーが移動されても更新されないことに注意してください)。

于 2012-05-03T12:34:10.343 に答える