- 締切済み
Excel ネットワーク上の別ブックの参照
ファイルサーバー上に「本社.xls」・「A支店.xls」・「B支店.xls」」・・・というExcelファイルがあり、 本社は全支店の案件の管理表の中から、各支店ごとの案件を抽出したのを「○支店.xls」として与え、 決められた列に各支店が入力した内容を本社のシートが参照、また別の列で逆に本社が入力した内容を各支店も参照する。 つまり本社⇔A支店、本社⇔B支店というふうに双方が書き込み、書き込まれる形をとりたいと思っています。 すべてファイルサーバー上の同じディレクトリにあります。 各列の左端のセルに通し番号を設け、VLOOKUP関数で相手側シートの中から探し出して参照する という形をとることで、 本社と支店で行が違うという問題、またオートフィルタでの並び替えで行が変わったときにも対処できると思っています。 こんな具合です。 A列 番号 B列 案件名 C列 本社からの指示 D列 支店進捗状況 (支店側で) =VLOOKUP(A2,[本社シート.xls]Sheet1!A$2:D$999,3,FALSE) これが、同一のPCで本社とA支店の両方を開くと、本社に入力した内容が瞬時にA支店側で参照され書き換わるのですが、 2つのPCで個別に開くと、自動的に更新されません。 ・「ツール」→「オプション」→「計算方法」で「自動」にチェックは確認しています。 ・「再計算」ボタンをクリックしてもダメ ・VBAで ActiveWorkbook.RefreshAll を実行してもダメ ・一度ブックを閉じ、再度開き「このブックには、ほかのデータ ソースへのリンクが~」で「更新する」を選ぶと更新される。 ・上記の関数の入ったセルで、F2を押して編集状態にし、何も書き換えずにEnterを押すと更新された。 この処理を、自動的に更新されるようにはできないでしょうか。VBAを使っても構いません。 最終的な目的は、表の相互書き込みもそうですが、支店側が開いているときに本社側から強制的に支店側を変更させたいのです。 本社側が更新しようとしていることを支店側へ通知する方法でもOKです。 いまのままだと、支店が開き続けている限り永久に支店側は更新がされませんから。 開いている支店側へ本社側から作用できれば、それをトリガーにして支店側のブックでマクロを作動させることもできるのではと思います。 支店側がちょくちょく閉じてくれればそれでよいのですが、開きっぱなしにされるリスクを回避したいのです。開かれていても何とかなる、という点が大事なのです。 わかる方、どうかご教授ください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tsubuyuki
- ベストアンサー率45% (699/1545)
> 支店側が開いているときに本社側から強制的に支店側を変更させたい つまり、今流行の(?)「遠隔操作」ですね^^; 合法的なソフトで、 http://www.symantec.com/ja/jp/pcanywhere シマンテック pcAnywhere と言うソフトがありますので、 場合によっては導入した方が早い可能性はありますね。 さておき、一案ですが・・ 例えば「本店のブック」を開くときに 「支店の最新のデータシートを本店のブックの特定のシートにコピーする」 (「支店のブック」はこの逆の処理) ように作ってしまうとどうなるでしょう? ついでに「任意のタイミングで更新できる」ように作っておけば、 常に(保存された)最新データを見に行けますし、 支店で開いていても問題ないと思います。 本店のブックに「支店データ」を表示するのが不細工だと言うときは 「シートを非表示」も設定できますので、それで見えなくしておけば良いかと。 まぁ、本当はエクセルではなく、アクセスなどを使う事をオススメしたいのが本音ですが・・ ご都合もありますでしょうし、そこは深く言わないようにします。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
VLOOKUP関数関係は ツール - オプション 計算方法 の ブックオプション □外部リンクの値を保存する チェックが入っていたら外してみてください。 あと関係ありそうなのは 編集 リンクの設定 値の更新 VBAはわかりません。 同時編集はブックの共有が必要です。あまり、良い評判は聞きませんので良く調べてから使うとよいと思います。 当方XL2003
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
ヴァージョンは?? ブックを共有して、相互に自由自在に更新する?、運用のポリシーは??
お礼
言葉足らずですみません。バージョンはOffice2003です。 ブックの共有は何かと問題が生じがちなので使いたくないというのが理由です。支店の数も多いし。 本社が作ったシートの、特定の列に支店が書き込みにいくという形です。 支店側から書き込める内容は限られています。(シートほごによって)