2016-02-10 5 views
-4

В настоящее время у меня есть макрос VBA, который сгенерирует страницу на основе некоторой информации, которую я вставляю в ячейку T3 на обзорной странице. Я бы хотел, чтобы одна и та же кнопка «создать страницу» также автоматически назначала гиперссылку на основе значения.Excel VBA назначает гиперссылку на ячейку

Например, если я поместил brownj1 в ячейку t3, страница будет создана и названа «brownj1», что бы мне хотелось, чтобы макрос был достигнут, - назначить ячейку «b3», которая также имеет имя «brownj1», на вновь созданную страницу. Другим способом, который, я думаю, был бы лучший способ обойти это, было бы поиск/цикл через столбец B, чтобы найти соответствующую ячейку в T3, а затем назначить гиперссылку.

Как уже упоминалось, у меня уже есть необходимый код для создания страницы и присвоение имени в качестве имени листа, и все, что я ищу, - это формула для назначения гиперссылки на конкретное имя при создании страницы.

+0

Вы определенно были здесь достаточно долго, чтобы знать, вы должны показать усилия. – findwindow

+1

Один из способов сделать это - посмотреть на эту страницу о том, как создать гиперссылку на рабочий лист, а затем создать макрос, который будет цитировать все значения в столбце B, которые говорят, что если Worksheets (ячейки (i, 2) .Value) существует, создайте гиперссылку http://stackoverflow.com/questions/9813488/excel-vba-create-hyperlink-to-another-sheet – justkrys

ответ

3

Вот пример того, как сделать это:

Sub createLink() 
Dim lastRow As Integer, sheetCount As Integer, myRange As Excel.Range, c As Excel.Range 
lastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 
sheetCount = Application.Sheets.Count 
Set myRange = Excel.ThisWorkbook.Sheets("Sheet1").Range("B1:B" & lastRow) 

For Each c In myRange 
    For x = 1 To sheetCount 
     If Worksheets(x).Name = c.Value Then 
      Excel.ThisWorkbook.Sheets("Sheet1").Hyperlinks.Add Anchor:=c, Address:="", SubAddress:=c.Value & "!A1" 
     End If 
    Next x 
Next c 
End Sub 
Смежные вопросы