Страницы: 1
RSS
Оглавление
 
Помогите, пожалуйста! Взяла на сайте макрос, который создает оглавление книги Excel по листам. Макрос вставляет название первого листа оглавления в ячейку A1. Можно ли сделать так, чтобы ссылка на первый лист оглавления вставлялась в выбранную (активную) в данный момент ячейку?  
 
 
Sub SheetList()  
  Dim sheet As Worksheet  
  Dim cell As Range  
  With ActiveWorkbook  
     For Each sheet In ActiveWorkbook.Worksheets  
        Set cell = Worksheets(1).Cells(sheet.Index, 1)  
        .Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", _  
                   SubAddress:="'" & sheet.Name & "'" & "!A1"  
        cell.Formula = sheet.Name  
     Next  
  End With  
End Sub
 
Sub SheetList()  
Dim sheet As Worksheet  
Dim cell As Range, k As Long  
With ActiveWorkbook  
For Each sheet In ActiveWorkbook.Worksheets  
Set cell = ActiveCell.Offset(k)  
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", _  
SubAddress:="'" & sheet.Name & "'" & "!A1"  
cell.Formula = sheet.Name  
k = k + 1  
Next  
End With  
End Sub
Bite my shiny metal ass!      
 
Лузер, спасибо! Забыла уточнить один момент. Можно сделать так, чтобы оглавление начиналось со второго листа, т.к. на первом и будет размещено собственно оглавление.
 
Исключил не первый, но активный лист из создания оглавления.  
Создается оглавление для всех остальных листов.  
Sub SheetList()  
Dim sheet As Worksheet  
Dim cell As Range, k As Long  
With ActiveWorkbook  
For Each sheet In ActiveWorkbook.Worksheets  
If sheet.Name <> ActiveSheet.Name Then  
Set cell = ActiveCell.Offset(k)  
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", _  
SubAddress:="'" & sheet.Name & "'" & "!A1"  
cell.Formula = sheet.Name  
k = k + 1  
End If  
Next  
End With  
End Sub
Bite my shiny metal ass!      
 
Лузер, спасибо огромное! Работает просто замечательно!!
 
The_Prist, спасибо! Тоже работает!
 
Скажите, а возможности обновления гиперссылок на названия листов есть? Например, я изменю название листа, а в оглавлении этот лист под старым названием остался...
 
Неужели нет возможности, как в Word, обновлять вручную гиперссылочки?
 
Наверное, надо использовать функцию гиперссылка() в связке с ячейка().
Bite my shiny metal ass!      
Страницы: 1
Читают тему
Наверх