- ベストアンサー
週報の雛形加工方法について
- 週報の雛形をコピーして加工する際にリンク先をそのシート名と同じシート名の別ファイルから拾ってくる方法はありますか?
- 週報には契約人時と実績が反映される必要がありますが、実績は契約とは異なるため、各週の実績データを確認する必要があります。
- 現在は雛形を契約にリンクするように設定し、コピー時にシート名を変更していますが、自動化する方法はありませんか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>[週報.xls]をあけると自動で[契約.XLS]も開ける様にはできないでしょうか?やっぱりVBAですか? そうですね、VBAが必要だと思います と言っても、非常に簡単なものです 下記のソースを「週報.xls」の標準モジュールに書き込むだけです ------------------------- Sub Auto_Open() Workbooks.Open Filename:="契約.xls" Windows("週報.xls").Activate End Sub ------------------------- なお、週報.xlsと契約.xlsが、別のホルダーに有る場合は、 "契約.xls"にフォルダー名も入れる必要が有ります ("\DATA\契約.xls"...とか)
その他の回答 (3)
- ASIMOV
- ベストアンサー率41% (982/2351)
>上記【B3 =INDIRECT("[契約.xls]"&A1&"!$BV$11")】 B3 =INDIRECT("'[契約.xls]"&A1&"'!$BV$11") ではどうでしょうか?(「'」を2個追加) >=MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31) こちらの方は問題無いように思いますが、「31」はもう少し余裕の有る数値にして於いた方が良いかも知れません
お礼
うまく行きそう(現在テストでいくつかのセルのみした所)で大変うれしいです。 そこで厚かましく、もう一つこのまま質問なのですが[週報.xls]をあけると自動で[契約.XLS]も開ける様にはできないでしょうか?やっぱりVBAですか?
- ASIMOV
- ベストアンサー率41% (982/2351)
「週報」ファイルの中に「8/24-8/29」シートが有り 「契約」ファイルの中にも同名の「8/24-8/29」シートが有る という事でしょうか? そして、 「週報」ファイルの「8/24-8/29」シートで B2は =[契約.xls]契約!$B$2 だけど B3は =[契約.xls]8/24-8/29!$B$3 にしたいという事でしょうか? であれば 8/24-8/29 を、適当な空きセルに入れて(仮にA1セルとします) B3 =INDIRECT("[契約.xls]"&A1&"!$B$3") として見てください (契約.xls を立ち上げておかないとエラーになりますけど)
補足
>「週報」ファイルの中に「8/24-8/29」シートが有り 「契約」ファイルの中にも同名の「8/24-8/29」シートが有る という事でしょうか? そうです。そのとうりです。 >そして、 「週報」ファイルの「8/24-8/29」シートで B2は =[契約.xls]契約!$B$2 だけど B3は =[契約.xls]8/24-8/29!$B$3 にしたいという事でしょうか? そうです!ただし正しくは記載されている内容は違う物ですので B2は =[契約.xls]契約!$BV$10 B3は =[契約.xls]8/24-8/29!$BV$11 という形です。 上記【B3 =INDIRECT("[契約.xls]"&A1&"!$BV$11")】 試しましたが・・ このA1の計算式は =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31) で合ってますか? これで入力してみましたが どうもうまく行きません。・・・ 出来ない者で・・本当にすいません。
- ASIMOV
- ベストアンサー率41% (982/2351)
全体的に判りずらいのですが、特にこれは... >一旦雛形を契約にリンクするように設定しコピーして作成する際にシート名を「8/24-8/29」にして、実績の所だけ「置換」で「契約」を⇒「8/24-8/29」にし【すべて置換】にしていました。 「8/24-8/29」は雛型からコピーされたシートですよね その中の「実績」セルの中の「契約」というファイル名を「8/24-8/29」(自分のシート名?)に置き換える...のが判りません 全体的に、「契約人時」「契約」など、たぶん同じものを指している思われるんですが、唐突に省略されると混乱します Excel的に、○○ファイルの□□シートの△△セルを..という風に具体的に書いてもらうと判り易いと思います で、INDIRECT という関数をご存知でしょうか? たぶんこの関数が問題解決のカギになるのではないかと思います http://www.google.co.jp/search?q=indirect%E9%96%A2%E6%95%B0&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
補足
自分で打っていてこんなに分かりづらいもんはないのでは?と思いました。すいません。 >「8/24-8/29」は雛型からコピーされたシートですよね そうです。 >その中の「実績」セルの中の「契約」というファイル名を「8/24-8/29」(自分のシート名?)に置き換える...のが判りません まず。週報ファイルと契約ファイル2つ存在します。 この2つのシートの数は全く同じでシート名もほぼ同じです。違うのは週報ファイルは雛形が「原版」契約ファイルは雛形が「契約」という名前のシートになっています。 9 契約人時 15 実績 12 上記例でいくと B2のセルは 契約ファイル・契約シートにリンクしています。 B3のセルが問題でして・・ B3のセルには 契約ファイルの 「8/24-8/29」のシートからリンクするようにしたいのです。 アクティブシートと同じ名前のセルを全く違うファイルからリンクさせるようにしたいのです。 意味分かりマスでしょうか?
お礼
これで全てがうまく行きそうです。本当にありがとうございました。