Excel连接跳转到当前单元格相同内容的单元格,相当于“查找下一个”,考虑用HYPERLINK和FINDSTR。怎么实现
一个sheet内,一个关键词只出现两次。想在第一次出现的地方设个HYPERLINK,点一下就跳到第二次出现的地方。例如aabbccddeeffaa:......bb:.....
一个sheet内,一个关键词只出现两次。想在第一次出现的地方设个HYPERLINK,点一下就跳到第二次出现的地方。
例如
aa bb
cc dd
ee ff
aa:......
bb:.....
dd:......
点击第一个aa就跳转到aa:....行
点击第一个bb就跳转到bb:....行
这里aa:....行bb:....行等出现的位置是不定的,所以不能写死单元格位置。 展开
例如
aa bb
cc dd
ee ff
aa:......
bb:.....
dd:......
点击第一个aa就跳转到aa:....行
点击第一个bb就跳转到bb:....行
这里aa:....行bb:....行等出现的位置是不定的,所以不能写死单元格位置。 展开
2012-07-04 · 知道合伙人软件行家
关注
展开全部
给你个vba,自动生成超链接。不需要手动运行宏。
假设你的表是sheet1
安alt+F11进入VBE,然后在左上角选择sheet1,双击,在右侧输入:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
.Hyperlinks.Delete
If .Cells.Count = 1 Then
If .Row <= 100 And .Column <= 10 Then '限定第一次出现的数据在A1:J100之间。如果不是这个区域你自己改。.Row <= 50,.Column <= 2 表示A1:B50
Set c = Cells.Find(.Value, LookIn:=xlValues)
If Not c Is Nothing And c.Address = .Address Then
Set c = Cells.FindNext(c)
If c.Address <> .Address Then
.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ActiveSheet.Name & "!" & c.Address
End If
Else
.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ActiveSheet.Name & "!" & c.Address
End If
Set c = Nothing
End If
End If
End With
End Sub
关闭VBE,回到sheet1,在A1:J100输入数据试试。
假设你的表是sheet1
安alt+F11进入VBE,然后在左上角选择sheet1,双击,在右侧输入:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
.Hyperlinks.Delete
If .Cells.Count = 1 Then
If .Row <= 100 And .Column <= 10 Then '限定第一次出现的数据在A1:J100之间。如果不是这个区域你自己改。.Row <= 50,.Column <= 2 表示A1:B50
Set c = Cells.Find(.Value, LookIn:=xlValues)
If Not c Is Nothing And c.Address = .Address Then
Set c = Cells.FindNext(c)
If c.Address <> .Address Then
.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ActiveSheet.Name & "!" & c.Address
End If
Else
.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ActiveSheet.Name & "!" & c.Address
End If
Set c = Nothing
End If
End If
End With
End Sub
关闭VBE,回到sheet1,在A1:J100输入数据试试。
展开全部
假设数据都在A列,这个需要用一段VBA代码来实现,代码如下:
Sub 超链接()x = [a65536].End(xlUp).Row
For i = 1 To x - 1
For j = i + 1 To x
If Cells(i, 1) = Cells(j, 1) And Cells(i, 1) <> "" Then
Cells(i, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ Cells(j, 1).Address, TextToDisplay:=Cells(i, 1).Value
End If
Next
Next
End Sub
试试吧
Sub 超链接()x = [a65536].End(xlUp).Row
For i = 1 To x - 1
For j = i + 1 To x
If Cells(i, 1) = Cells(j, 1) And Cells(i, 1) <> "" Then
Cells(i, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ Cells(j, 1).Address, TextToDisplay:=Cells(i, 1).Value
End If
Next
Next
End Sub
试试吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询