我有一个名为Table1的表
在B栏中,我有票号。 例如:76537434
要求:当B列中的任何单元格发生任何更改时,该单元格(目标单元格)将更改为超链接,以便超链接地址为example.com/id=76537434
单元格值即76537434必须保持不变
最后发布: 2017-03-29 11:33:23
我有一个名为Table1的表
在B栏中,我有票号。 例如:76537434
要求:当B列中的任何单元格发生任何更改时,该单元格(目标单元格)将更改为超链接,以便超链接地址为example.com/id=76537434
单元格值即76537434必须保持不变
将此事件处理程序添加到工作表的代码模块中:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Target.Hyperlinks.Delete ' or Target.ClearHyperlinks to conserve the formatting
Me.Hyperlinks.Add Target, "http://example.com/id=" & Target.value
End Sub
以下Worksheet_Change
事件应该能够解决您的问题:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim tmp As String
If Intersect(Range("B:B"), Target) Is Nothing Then Exit Sub
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:="http://example.com/id=" & tmp, _
TextToDisplay:=tmp
Application.EnableEvents = True
End If
Next cell
End Sub
请注意,您必须将其复制到工作表而不是单独的模块。
=HYPERLINK(E14&F14,"Name")
其中单元格E14包含“ http://www.example.com/id= ”,单元格F14包含“76537434”。 这个灵魂不需要VBA宏。