Рабочая тетрадь, над которой я работаю, используется для отслеживания проекта. На начальной странице это текущая страница проектов &. Когда вы нажмете кнопку управления формой, он выполнит приведенный ниже код. Что делает код ниже, читается через каждый лист в книге (имеет 30 листов), а затем все листы, имеющие значение «Проект №:» в A5. Когда он имеет это значение, он будет помещать заданные значения в указанную строку и столбец. Строка с «**» в начале - это та, которая не работает. Строка под ним с «*» рядом с ней - это то, что я временно использую, но у нее нет гиперссылки, просто имя листа.Excel код VBA для гиперссылки на другие листы
То, что я хочу, чтобы это произошло в коде ниже, это сделать строку «A» содержит листы имена в виде текста и гиперссылки на этот лист
For Each ws In ThisWorkbook.Worksheets
If ws.Range("A5") = "Project # :" And ws.Range("E16") = "" Then
x = .Range("B" & Rows.Count).End(xlUp).Offset(1).row
**.Cells(x, "A").Formula = "=ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _'" & ws.Name & "'"
*.Cells(x, "A").Value = ws.Name 'classifying number
.Cells(x, "B").Formula = "='" & ws.Name & "'!$B$5" 'Project #
.Cells(x, "C").Formula = "='" & ws.Name & "'!$A$1" 'Project Name
.Cells(x, "D").Formula = "='" & ws.Name & "'!$B$8" 'Project Engineer
.Cells(x, "E").Formula = "='" & ws.Name & "'!$B$11" 'In-service Due
.Cells(x, "F").Formula = "='" & ws.Name & "'!$E$6" '30% Due
.Cells(x, "G").Formula = "='" & ws.Name & "'!$F$13" '30% Success
.Cells(x, "H").Formula = "='" & ws.Name & "'!$E$7" '60% due
.Cells(x, "I").Formula = "='" & ws.Name & "'!$F$14" '60% Success
.Cells(x, "J").Formula = "='" & ws.Name & "'!$E$8" '90% due
.Cells(x, "K").Formula = "='" & ws.Name & "'!$F$15" '90% Success
.Cells(x, "L").Formula = "='" & ws.Name & "'!$E$5" 'Material Forecast due date
.Cells(x, "M").Formula = "='" & ws.Name & "'!$F$11" 'Materials Forecast Success
.Cells(x, "N").Formula = "='" & ws.Name & "'!$B$15" 'Non Stores Items
.Cells(x, "O").Formula = "='" & ws.Name & "'!$B$16" 'Non Stores Items Ordered on time
.Cells(x, "P").Formula = "='" & ws.Name & "'!$A$17" 'Non Stores Items Success
End If
Next
End With
Это прекрасно! Я пытался понять это на какое-то время, большое спасибо! –