【问题标题】:Excel VB Copy and Pasting HyperlinksExcel VBA 复制和粘贴超链接
【发布时间】:2022-03-27 20:04:50
【问题描述】:

我在使用 VB 将超链接从一张纸复制和粘贴到另一张纸时遇到问题。

我正在使用数据库连接将超链接拉入 Sheet1,然后使用宏将数据库数据复制并粘贴到另一个工作表中,但是复制和粘贴不会粘贴“可点击”链接,仅粘贴纯文本。

如何使用VB复制超链接,这甚至可能吗??

Sheets("Sheet1").Select
Range("J19:K100").Select
Application.CutCopyMode = False
**Selection.SpecialCells(xlCellTypeVisible).Copy**
Sheets("Sheet2").Select
Range("C5:D100").Select
ActiveSheet.Paste **Link:=True**

非常感谢任何帮助! 谢谢!

更新

我正在使用包含 URL/超链接的数据库连接。我已经尝试过您的过滤表代码,但是这仅在链接直接输入到单元格时才有效。即通过右键单击单元格>超链接输入。

以前有没有人在 excel 中实现过从数据库连接复制 URL?

谢谢。

【问题讨论】:

  • 复制粘贴区域的大小不同。粘贴区域至少比原始副本大 14 行;如果xlCellTypeVisible 的提示表示源中过滤的数据,则更是如此。
  • 这似乎对我有用 'Sheets("Sheet1").Range("J19:K100").SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet2").Range(" C5") '
  • @Davesexcel - 你需要反引号(又名 graves)来显示代码格式,而不是标准的单引号。
  • 好的,Sheets("Sheet1").Range("J19:K100").SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet2").Range("C5")

标签: vb.net vba excel hyperlink


【解决方案1】:

您可以使用以下粘贴特殊选项来粘贴链接。

ActiveSheet.PasteSpecial xlPasteAll

【讨论】:

  • 这是我正在寻找的东西,但是我收到以下错误:“工作表类的PasteSpecial 方法失败。”我需要做的就是复制并粘贴一个过滤的数据库表,包括链接(如果可能,不格式化)。
  • 你试过上面@Davesexcel 的答案了吗?看来它会解决你的问题。就像 Jeeped 已经说过你的复制范围和粘贴范围不匹配。您可以选择单个单元格(起点)作为粘贴目标。
  • 您好,感谢您到目前为止的帮助,它似乎不起作用。我在 excel vba 开发人员中使用该代码,但只复制文本(蓝色字体和下划线),但没有附加超链接。编辑:我正在使用数据库刷新按钮来刷新过滤后的数据,它从该数据库接收超链接并将其粘贴到过滤后的单元格中。它不会将地址 (URL) 或公式 (=Hyperlink[@CHANGE_LINK]...) 复制到单元格中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多