VBA:将单元格的超链接分配给 object
VBA: Assign hyperlink from cell to object
我的仪表板已锁定,因此同事们无法 change/delete 意外地进行任何操作。
不过,我需要他们能够将 hyperlink 添加到按钮。
我创建了一个 'Set Up' sheet,允许他们输入信息,然后这些信息将反映在仪表板上(KPI、标题等)。我希望这包括一个按钮,它将 'Set Up' 上 B5 的 hyperlink 分配给仪表板上的按钮(名为 'CoverageButton')。
这是设置 sheet,使用 Google 作为 link 中的支架:
我尝试使用的代码是:
Sub AssignURL()
Dim fileLink As String
Application.ScreenUpdating = False
With ActiveWorkbook
fileLink = Cells(5, 2) 'indicating where link is
.Hyperlinks.Add Anchor:=.Shapes("CoverageButton"), _
Address:=fileLink
End With
Application.ScreenUpdating = True
End Sub
我收到 run-time 错误“438” Object 不支持此 属性 或方法,突出显示以 .Hyperlinks
开头的行。使用 2016 版 Excel.
我是不是漏掉了什么?
Shapes
是作品sheet 的属性,不是工作簿。
此外,您没有正确限定单元格。
Sub AssignURL()
Dim fileLink As String
Application.ScreenUpdating = False
' add link to 'CoverageButton' on 'Dashboard' sheet
With ActiveSheet
fileLink = .Cells(5, 2)
.Hyperlinks.Add Anchor:=.Shapes("CoverageButton"), _
Address:=fileLink
End With
Application.ScreenUpdating = True
End Sub
请注意,如果按钮位于不同的 sheet 上,您可能希望在我们明确引用 Set Up
和 Dashboard
sheet 的地方使用类似的东西。
Sub AssignURL()
Dim fileLink As String
Application.ScreenUpdating = False
' get link from 'Set Up' sheet
fileLink = Sheets("Set Up").Cells(5, 2).Value
With Sheets("Dashboard")
.Hyperlinks.Add Anchor:=.Shapes("CoverageButton"), _
Address:=fileLink
End With
Application.ScreenUpdating = True
End Sub
我的仪表板已锁定,因此同事们无法 change/delete 意外地进行任何操作。
不过,我需要他们能够将 hyperlink 添加到按钮。
我创建了一个 'Set Up' sheet,允许他们输入信息,然后这些信息将反映在仪表板上(KPI、标题等)。我希望这包括一个按钮,它将 'Set Up' 上 B5 的 hyperlink 分配给仪表板上的按钮(名为 'CoverageButton')。
这是设置 sheet,使用 Google 作为 link 中的支架:
我尝试使用的代码是:
Sub AssignURL()
Dim fileLink As String
Application.ScreenUpdating = False
With ActiveWorkbook
fileLink = Cells(5, 2) 'indicating where link is
.Hyperlinks.Add Anchor:=.Shapes("CoverageButton"), _
Address:=fileLink
End With
Application.ScreenUpdating = True
End Sub
我收到 run-time 错误“438” Object 不支持此 属性 或方法,突出显示以 .Hyperlinks
开头的行。使用 2016 版 Excel.
我是不是漏掉了什么?
Shapes
是作品sheet 的属性,不是工作簿。
此外,您没有正确限定单元格。
Sub AssignURL()
Dim fileLink As String
Application.ScreenUpdating = False
' add link to 'CoverageButton' on 'Dashboard' sheet
With ActiveSheet
fileLink = .Cells(5, 2)
.Hyperlinks.Add Anchor:=.Shapes("CoverageButton"), _
Address:=fileLink
End With
Application.ScreenUpdating = True
End Sub
请注意,如果按钮位于不同的 sheet 上,您可能希望在我们明确引用 Set Up
和 Dashboard
sheet 的地方使用类似的东西。
Sub AssignURL()
Dim fileLink As String
Application.ScreenUpdating = False
' get link from 'Set Up' sheet
fileLink = Sheets("Set Up").Cells(5, 2).Value
With Sheets("Dashboard")
.Hyperlinks.Add Anchor:=.Shapes("CoverageButton"), _
Address:=fileLink
End With
Application.ScreenUpdating = True
End Sub