No.1
- 回答日時:
1.そうだね。
2.別のPCに持って行ったら、リンク切れてるからね。そりゃ無理だ。
3.同じPC内に両方のBookを置くことだよ。
No.2ベストアンサー
- 回答日時:
排他的制御は確かにExcelは苦手ですね。
リンク先Bookにマクロを組んで実行するのは、可能ですが、そもそも開いて編集しているので、
その挙動で更新されないのであれば、VBAで閉じた時にもう一度自ら開いても他のブックから挙動は分からないのではないでしょうか
そう考えると、、難しいのではないでしょうか?
従って作業ブックのあるPCで参照先Bookのインスタンスを更新するしか何のでは、、と考え、、
なので、作業しているブックで何か結果を出す時に参照を更新する形にするしかないのかなと思います。
しかしながら、排他的制御、参照元が使われているとか、、問題がありますね。。
データ参照などのやり方の1つとしてBOOKリンクを設置しているなら、違う方法を考えた方が良いかと、思います。
取敢えず、VBAで更新するコードを記します。
リンク先アドレスが複数ある場合は、手を加えてください。
最低限のエラー処理(回避)のみです。必要に応じて追加してください。
NASの場合のファイルpathなのでリンクブックアドレスを適時書き換えてください。
startRefreshで実行します。
SetオブジェクトはEnd Subで解放されると認識しています。
Option Explicit
Sub startRefresh()
Dim Lbookpach As String
Lbookpach = "\\Nas名\Folder名\Test.xlsx" 'リンクブックアドレス 変更箇所
'Lbookpach = ActiveSheet.Range("A1").Value 'セルから IF やForでも、、
Call Link_refresh(Lbookpach)
End Sub
Sub Link_refresh(Lbookpach As String)
Dim wb1 As Workbook, ReturnBook As Workbook
Dim FileName As String
Dim strCheck As String
Set ReturnBook = ActiveWorkbook
FileName = CreateObject("Scripting.FileSystemObject").GetFileName(Lbookpach)
strCheck = Dir(Lbookpach)
If (strCheck = FileName) Then
Workbooks.Open FileName:=Lbookpach, UpdateLinks:=3
Set wb1 = ActiveWorkbook
Application.DisplayAlerts = False
wb1.Close
Application.DisplayAlerts = True
ReturnBook.Activate
Else
MsgBox ("対象のファイルが見つかりませんでした。")
Exit Sub
End If
MsgBox ("リンクを更新しました")
End Sub
この回答へのお礼
お礼日時:2019/10/08 15:33
長文ありがとうございました。
回答を参考にして試してみて
どうしても分からない時に再度、質問させて頂きます。
一応締め切らせて頂きます
回答有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ネットワーク上のエクセルとリンクしている時にデータ更新をvbaで、refresh Allで行う場合の 2 2023/04/10 05:39
- Visual Basic(VBA) Excel VBA リンク更新について A、B、Cのファイルかあります。 (Aファイルのリンク元Bフ 1 2022/09/21 13:40
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセルからビジオのリンク貼り付け 1 2023/03/30 17:51
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Excel(エクセル) 更新前と更新後の差分をVBAを使って抜き出したい 5 2023/06/01 14:35
- その他(パソコン・スマホ・電化製品) エクセルのインストール 2 2022/04/17 14:16
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
excelで直前に参照していたブッ...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
名前の変わるブックをアクティ...
-
エクセルVBAで作成した別ブック...
-
エクセルで未保存に対するメッ...
-
エクセル;相対パスを絶対パスへ...
-
複数のExcelファイルの印刷設定...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
エクセルのマクロについて教え...
-
エクセルVBA 個人用マクロブッ...
-
エクセルのvbaにて thisworkboo...
-
個人用マクロブックが消えました
-
エクセルを開いて文字を打つ際...
-
ファイル名変更後も、マクロを...
-
ブックを開いたとき自動的にバ...
-
EXCELマクロで、開いてはいるが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセル;相対パスを絶対パスへ...
-
マクロの保存先、開いてるすべ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
EXCELマクロで、開いてはいるが...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
[フィルターオプションの設定]...
-
【Excel】特定セルの内容をテキ...
-
ファイル名変更後も、マクロを...
-
名前の変わるブックをアクティ...
おすすめ情報
エクセルそのものはサーバーに入れてあるのでリンク切れではないです。
リンク先のエクセルを閉じて開き直すと更新されるのですが
マクロで開き直さなくても良い方法はないでしょうか