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。