【问题标题】:Creating a range object from cells function从单元格函数创建范围对象
【发布时间】:2017-09-22 16:05:42
【问题描述】:

很可能是一个非常简单的解决方案,但为了解决这个问题,我正在疯狂尝试 Range 和 Cells 的所有不同组合。

基本上,我正在尝试向动态选择的单元格添加超链接。

这很好用,我最终会像这样与单元格交互:

ActiveSheet.Cells(1, colnum) ' colNum 取自 Application.Match

现在我想为该单元格添加一个超链接。从我在网上看到的所有示例中,您需要像这样添加它:

If vItm = "Ticket No" Then
With ActiveSheet
    ref = .Cells(2, colNum).Address
    .Hyperlinks.Add Anchor:=**Range(ref)**, Address:="URLGOESHERE=" & dict(vItm), _
        TextToDisplay:=dict(vItm)
    End With
End If

我认为失败的部分是 Anchor:= 因为它需要一个范围对象。我找不到使用 Cells(2, colNum) 作为范围对象的方法。我已经尝试过“.Address”,我对此充满希望,但仍然失败。

请让我摆脱痛苦并教育我!

错误是“无效的过程调用或参数”

【问题讨论】:

  • 错误不在您的锚点中。使用您的设置,我成功创建了指向 Google 的链接:.Hyperlinks.Add Anchor:=Range(ref), Address:="https://www.google.com/", _ TextToDisplay:="google"
  • 感谢 Scott,出于某种原因,我们完全了解了 Anchor。是我试图用 & 而不是 +.... 加入字符串。啊!

标签: excel vba


【解决方案1】:

您使用的只是 ActiveSheet,而不是范围部分。
试试:

If vItm = "Ticket No" Then
    ref = ActiveSheet.Cells(2, colNum).Address
    With ActiveSheet.Cells(2, colNum)
        .Hyperlinks.Add Anchor:=ref, Address:="URLGOESHERE=" & dict(vItm), _
        TextToDisplay:=dict(vItm)
    End With
End If

【讨论】:

  • 似乎没有任何区别。我确实尝试将它向下移动到 With 下,不确定它是如何在之前的行中结束的。
  • @Chris 接受您的编辑并将锚点更改为专门显示“ref”..
  • 谢谢西里尔。看来问题出在失败的串联 URL 上,而不是范围!我想尖叫...花了比我愿意承认的时间更长的时间来尝试让这个工作。感谢您的帮助
猜你喜欢
  • 2016-12-30
  • 1970-01-01
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多