我试图拦截粘贴外部链接的过程。我想将链接的来源更改为内部网站。
公式如下:
='[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。
任何想法都会受到赞赏。
答案 0 :(得分:1)
尝试更改:
ActiveCell.FormulaR1C1 = s
到
ActiveCell = s
ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=s
这样,您只需要输入要查看的值,然后将超链接添加到您想要指向的位置!没有理由为非常挑剔的Excel .Paste
或.PasteSpecial
而努力。