2016-12-08 15 views
0

VBAソリューションに飛び込む前に、私が参照している閉じたブックのファイル名を更新できるかどうかを知りたかったのです。ファイル名は次のようになり、パスを明確にするために毎日変更するファイルを参照する/ Excel

式が読み込み、

=SUMIF('L:path\[filename - "&TEXT(WORKDAY(TODAY(),-1),"yyyymmdd")&".xlsx]Sheet'!$BF:$BF,"criteria",'L:path\[filename - "&TEXT(WORKDAY(TODAY(),-1),"yyyymmdd")&".xlsx]Sheet'!$DX:$DX)

、仕事でThis is the filename - yyyymmdd.xlsb

誰かが、それは文字列だから、それはファイル名を変更することはできませんと述べました。それが事実なら誰かがちょうどそれを拡張することができますか?

+0

上記の論理式に基づいてドキュメントを閉じるときに、ファイルの名前を更新することを意味しますか? –

+0

はい。一般に、ファイル名は、ワークブックを閉じるときやワークブックをリフレッシュするときのいずれの日付でも変更できますか? – SozDaneron

答えて

0

あなたは本当にできません。 "Book1.xls"と "Book2.xls"をお持ちの場合は、この式をbook1に入れてください:

= MID(CELL( "filename"、A1)、FIND( "["、CELL( ( "["、 "ファイル名"、A1)) - 1)

このようになります。 Book1の名前(唯一)を返します。 Book2からそのセルを参照することができます。あなたがBook1の名前を何かに変更すると、参照が壊れてしまい、手動で参照を変更する必要があります(更新リンクマネージャからファイルを選択してください)。それは、他のワークブックを参照するために、ファイル名を含む絶対パスを使用するように見えます。そのブックへの柔軟な参照をBook2に保存する方法が必要です。しかし、唯一の方法はVBAです。

興味深いことに、あなたがそれを行うことができますが:

  • はBOOK1のセルを指すBOOK2内の参照を作成します。 book2でそのセルの値を取得します。
  • すべてを閉じます。
  • book1のみを開き、参照先のセルを編集します。閉じる& save book1。
  • Book2を開くと、リンクを更新するかどうか尋ねられ、book1がまだ閉じていても更新された値が表示されます。

私はそこで行われているもののように、間接的に使用することでした他のアイデア:using indirect function in Excel

しかし、それは、閉じたブックのために動作しませんし、それはあなたの要件の一つです。

だからVBAです。

+0

私はあなたがVBAなしではできないことを明確にしたので、正しい答えとしてあなたをクリックしました。私は現時点でほとんどのファイルにアクセシビリティ(基本的には読み取り権のみ)を制限しているので、私は上記を試すことはできません。ありがとう。 – SozDaneron

関連する問題