Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

工作中常用的Excel函数公式,全印在一张超大鼠标垫上
查看: 257|回复: 11

[求助] 求一个更新外部关联文件数据的宏,需要无论外部文件是否打开都能更新数据

[复制链接]
发表于 2021-2-24 10:50 | 显示全部楼层 |阅读模式
本帖最后由 flyflier 于 2021-2-24 10:50 编辑

如题,求一个更新外部关联文件数据的宏,需要无论外部文件是否打开都能更新数据。下图 主表 分别从 外部表1 和 外部表2 关联了数据。当 外部表1 和 外部表2 处于关闭状态时,用最下图截图中的宏是可以对外部数据进行更新的,但是当 外部表1 和 外部表2 处于打开状态时,运行宏就会出错。
求一个无论外部文件是否处于打开状态,都能更新 主表 外部数据的宏。因为以后关联的外部文件会很多,是否有对所有源文件数据进行更新的宏?
先在这里感谢各位大神。


更新宏.JPG
外部表1.jpg
外部表2.jpg
主表.jpg

Desktop.rar

25.06 KB, 下载次数: 9

发表于 2021-2-24 18:45 | 显示全部楼层
'Update formulas/links for all the open source workbooks
Sub Update_Links()
   For Each wbkPath In ThisWorkbook.LinkSources
      'Update formulas/links for all the closed source workbooks
      If Not IsWorkbookOpen(wbkPath) Then
         ThisWorkbook.UpdateLink Name:=wbkPath, Type:=XlLinkType.xlLinkTypeExcelLinks
      End If
   Next
End Sub
Public Function IsWorkbookOpen(sFileName) As Boolean
   On Error Resume Next
   Open sFileName For Binary Access Read Lock Read As #1
   Close #1
   IsWorkbookOpen = IIf(Err.Number > 0, True, False)
   On Error GoTo 0
End Function


祝順心,南無阿彌陀佛!


回复

使用道具 举报

 楼主| 发表于 2021-2-25 13:27 | 显示全部楼层
cutecpu 发表于 2021-2-24 18:45
'Update formulas/links for all the open source workbooks
Sub Update_Links()
   For Each wbkPath In ...

你好,我把这个宏做成了按钮,但是点击后没有看到后台在读取外部文件信息。还是每次进入文件后,点击一次这个宏就可以了?



回复

使用道具 举报

发表于 2021-2-25 14:06 | 显示全部楼层
本帖最后由 cutecpu 于 2021-2-25 14:07 编辑
flyflier 发表于 2021-2-25 13:27
你好,我把这个宏做成了按钮,但是点击后没有看到后台在读取外部文件信息。还是每次进入文件后,点击一次 ...
您好,執行update_links即可
回复

使用道具 举报

 楼主| 发表于 2021-2-25 15:03 | 显示全部楼层
cutecpu 发表于 2021-2-25 14:06
您好,執行update_links即可

是这样直接复制到模块里吗?但是点运行后没有反应。
捕获.JPG
回复

使用道具 举报

发表于 2021-2-25 15:22 | 显示全部楼层
flyflier 发表于 2021-2-25 15:03
是这样直接复制到模块里吗?但是点运行后没有反应。

您好,執行 update_links 後,資料沒更新嗎?
回复

使用道具 举报

 楼主| 发表于 2021-2-25 15:38 | 显示全部楼层
cutecpu 发表于 2021-2-25 15:22
您好,執行 update_links 後,資料沒更新嗎?

没有哦,完全没有反应。
回复

使用道具 举报

发表于 2021-2-25 15:50 | 显示全部楼层
flyflier 发表于 2021-2-25 15:38
没有哦,完全没有反应。

可以上傳附件嗎
回复

使用道具 举报

 楼主| 发表于 2021-2-25 16:42 | 显示全部楼层
cutecpu 发表于 2021-2-25 15:50
可以上傳附件嗎

刚才我又测试了一下,发现如果文件都在本地的话这个宏是可以用的。但是当文件在onedrive上就会有问题。
原文件涉及到公司讯息,不方便给你。附件是测试文件,用下面的单元格链接关联了一个单元格的数据。另外因为关联外部数据需要365的账号和密码,我也不能给你,不好意思。

下面是其中一个单元格的链接。

='https://aibida-my.sharepoint.cn/personal/gaf_aibida_partner_onmschina_cn/Documents/外部链接测试/[外部表1.xlsx]Sheet1'!A1



外部链接测试.rar (12.55 KB, 下载次数: 2)
回复

使用道具 举报

发表于 2021-2-25 17:56 | 显示全部楼层
flyflier 发表于 2021-2-25 16:42
刚才我又测试了一下,发现如果文件都在本地的话这个宏是可以用的。但是当文件在onedrive上就会有问题。
...

嗯嗯, 我試的時候,也是在本地端測的
如果有單元格 是參考 外部連結的話,我也沒試過~哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2021-4-20 07:11 , Processed in 0.156000 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表