Я хотел бы заменить весь текст, присутствующий в столбце B Sheet1 с гиперссылками, которые пройдут к листу и ячейке, который имеет упомянутый текст (второй вхождение).
Предположим, у нас есть лист1:
Column A : Column B
T1 : Brand Values
T2 : Brand Text
Также как мы можем достичь через находку всех вариантов.
Таким образом, для вышеуказанного параметра создайте гиперссылку для листа 2 сотовой ссылки A3.
Я получил код VBA для создания ссылок:
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= "'" & sh.Name & "'" & "!A1", TextToDisplay:=sh.Name
Как мне найти ссылку на элемент клетки для соответствующего текста на другом листе?
1 ответ
Для каждого листа найдите матч.
Затем напишите соответствующий адрес гиперссылки.
Sub test()
Dim mySht As Worksheet, sht As Worksheet
Dim cell As Range, myRng As Range
Set mySht = ActiveSheet
For Each cell In mySht.Range("B2:B3")
For Each sht In Worksheets
If sht.Name <> mySht.Name Then ' find each worksheet except myself
Set myRng = Nothing
On Error Resume Next
Set myRng = sht.Cells.Find(what:=cell.Value, LookIn:=xlValues, lookat:=xlWhole) ' find match
If Not myRng Is Nothing Then
mySht.Hyperlinks.Add _
anchor:=cell, _
Address:="", _
SubAddress:=myRng.Address(True, True, xlA1, True), _
TextToDisplay:=cell.Value
Exit For
End If
On Error Goto 0
End If
Next sht
Next cell
End Sub
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию для объектов или файлов Excel или для разработки сложных формул. Вы можете объединить тег Excel с VBA, VSTO, C #, VB.NET, PowerShell, OLE-автоматизацией и другими тегами и вопросами, связанными с программированием, если это применимо. Общая помощь по MS Excel для функций одного листа доступна в Super User.