在VBA中更新粘贴到外部电子表格的链接

时间:2014-08-05 03:55:25

标签: excel vba excel-vba

我试图拦截粘贴外部链接的过程。我想将链接的来源更改为内部网站。

公式如下:

='[filename.xlsx]Sheet1'!$B$7

我想改为:

='http://server/site/[filename.xlsx]Sheet1'!$B$7

这段代码可以解决问题:

Dim 

s As String s = ActiveCell.FormulaR1C1  
If Len(s) < 3 Then Exit Sub 
Dim i As Integer i = InStr(s, "[") 
If i > 0 Then
        s = "='X:\directory\[" + Mid(s, i + 1)
        ActiveCell.FormulaR1C1 = s
End If

我试过在上面的

之前添加
ActiveSheet.Paste Link:=True

但它没有通过链接,而是粘贴了一个公式。我已经看过从剪贴板中提取链接但是没有运气与Application.ClipboardFormats。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

尝试更改:

ActiveCell.FormulaR1C1 = s 

ActiveCell = s
ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=s

这样,您只需要输入要查看的值,然后将超链接添加到您想要指向的位置!没有理由为非常挑剔的Excel .Paste.PasteSpecial而努力。