【发布时间】:2018-08-21 15:35:53
【问题描述】:
我使用的是 MS Office 2016 Pro Plus。我有一个启用宏的工作簿,它具有与共享点列表的 Power Query (PQ) 连接。以下代码旨在根据 A 列和 B 列中单元格内的值自动刷新/创建超链接,因此理论上,我可以单击链接,它们会将我带到我感兴趣的列表 SP 列表项。
下面的代码有效,因为每当我刷新 PQ 连接时,它都会创建链接但是(这就是问题所在)...如果列表项的数量减少,它仍然尝试在先前填写的单元格中的 A 列和 B 列中创建超链接......但我不希望它这样做。请参阅下面的示例图片和后续代码:
问题示例:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim tmp As String
If Intersect(Range("A:A"), Target) Is Nothing Then Exit Sub
For Each cell In Target
If cell.Column = 1 Then
Application.EnableEvents = False
tmp = cell.Value2
cell.Parent.Hyperlinks.Add _
Anchor:=Cells(cell.Row, 1), _
Address:="<<My Shareopint List URL1>>/EditForm.aspx?ID=" & tmp, _
TextToDisplay:=tmp
Application.EnableEvents = True
End If
Next cell
For Each cell In Target
If cell.Column = 2 Then
Application.EnableEvents = False
tmp = cell.Value2
cell.Parent.Hyperlinks.Add _
Anchor:=Cells(cell.Row, 2), _
Address:="<<My Shareopint list URL2>>" & tmp, _
TextToDisplay:=tmp
Application.EnableEvents = True
End If
Next cell
Columns("A:B").Select
Selection.ColumnWidth = 10
End Sub
任何想法都将受到欢迎。
【问题讨论】: