Excel - Я хотел бы иметь возможность щелкнуть по ячейке на листе 1 и взять ее в ячейку на листе 2. Теперь мне не нужна простая гиперссылка, мне понадобится ячейку в листе 2 можно найти. Например, я нажимаю на ячейку A1, которая содержит слово «start», и при нажатии на нее меня переносят в ячейку на листе 2 с той же фразой «start». Теперь на листе 2 это может быть ячейка A1 или A4 или A57. Я бы хотел, чтобы он нашел, если он когда-либо изменит позицию внутри этой колонки. По сути, мне нужна гиперссылка с функцией поиска.Excel-Hyperlink с функцией поиска
2
A
ответ
3
Вы можете использовать событие VBA , чтобы переместить выделение после щелчка по ссылке.
Добавить нормальную гиперссылку на любую ячейку нужного листа назначения
Добавьте этот код в модуль источника рабочего листа
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim rngDest As Range
Dim shDest As Worksheet
Dim cl As Range
Set shDest = ActiveSheet
Set rngDest = shDest.Range("A:A") ' <--- change this to your target search range
With rngDest
Set cl = .Find(Target.Range.Cells(1, 1).Value, .Cells(.Rows.Count, .Columns.Count), xlValues, xlWhole, xlByRows, xlNext)
If Not cl Is Nothing Then
cl.Select
Else
' value not found, return to original sheet
Target.Range.Worksheet.Activate
MsgBox Target.Range.Cells(1, 1).Value & " not found", vbOKOnly, "Not Found"
End If
End With
End Sub