Excel VBA:如何从单元格值自动创build超链接?
我有一个名为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”。 这灵魂不需要VBAmacros。