永发信息网

如何通过VBA清除工作簿内所有表格的外链并保留当前数据?

答案:1  悬赏:0  手机版
解决时间 2021-03-03 16:36
RT 谢谢!
如果可以 高分送上!!
谢谢高手,另外我想问下有没有办法能实现批量处理将本表所有需要链接其他表格的公式清除并保留原数据?
比如 A2=SUMPRODUCT(('C:\PMS Report Tools\[PMS Report Tools.xls]Rawdata'!AX$2:AX$1423="booked")*('C:\PMS Report Tools\[PMS Report Tools.xls]Rawdata'!G$2:G$1423=A8)

这个"\[PMS Report Tools.xls]Rawdata'!"就是另一个文件的worksheet,我想保留A2当前值并删除公式,
但前提,类似 A1=A2+A3 这种不需要连接除当前Workbook之外的、其他文件的Worksheet的公式不能删除。。有没有办法。。能提供的话愿意送上100分,谢谢!
最佳答案
下面是一次性删除当前活动工作表的所有超链接

Public Sub ClearHyperlinks()
Dim hyl As Hyperlink
For Each hyl In ActiveSheet.UsedRange.Hyperlinks
hyl.Delete
Next
End Sub

当然可以保留,只删除链接,如果要删除所有工作表的超链接,可再做个循环。看下面的代码
Public Sub ClearHyperlinks()
Dim ws As Worksheet
Dim hyl As Hyperlink
For Each ws In Sheets
ws.Select
For Each hyl In ActiveSheet.UsedRange.Hyperlinks
hyl.Delete
Next
Next ws
End Sub

下面函数用于判断单元格是否引用了其他工作表数据
Public Function ISSHEETDATA(myCell As Range) As Boolean
If myCell.HasFormula And InStr(myCell.Formula, "!") > 0 Then
ISSHEETDATA = True
Else
ISSHEETDATA = False
End If
End Function

下面函数用来判断单元格是否引用了其他外部工作簿数据
Public Function ISWORKBOOKDATA(myCell As Range) As Boolean
If myCell.HasFormula And InStr(myCell.Formula, "xls") > 0 Then
ISWORKBOOKDATA = True
Else
ISWORKBOOKDATA = False
End If
End Function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
秋天感冒吃什么好
【容浔】华胥引之十三月里面慕言说的那句话是
徐仰地址在什么地方,想过去办事
动量修正系数
王者荣耀什么角色能够克制新版花木兰
广东乐昌到广东潮汕大概多少公里
海尔大道/科技大道(路口)地址有知道的么?有
【西湖夜景】...但名字是实在记不起来了作者
东台市性病监测中心在哪里啊,我有事要去这个
请问郑锦津有没有同姓同名
五十岁的女性小腹一阵一阵间隔痛是什么原因
常州公积金可以异地贷款买房么住房公积金可以
血稀是怎么回事?是病吗?怎么能改善啊?
利润表编制的目的有()。A.如实反映企业实现
求未删减版 拉字至上全6季 百度云
推荐资讯
植物大战僵尸成人版最新版
笔记本电脑windows7是啥意思?
永华商店我想知道这个在什么地方
经期30天,到22天卵泡才排,这是怎么回事。
姐姐过生日姐姐的女朋友一起给过我是妹妹首先
—Would you like some tea, please? —Yes,
远东公寓怎么去啊,有知道地址的么
鑫鑫饺子馆地址在哪,我要去那里办事
夫妻之间为什么妻子总会忍气吞声
做皮蛋豆腐之前 豆腐需要热水煮吗?
favorite/ favourite 有什么区别?快
我的小米三手机,用鲁大师测试是正版的,但是
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?