Страницы: 1
RSS
Оглавление книги разнести по столбцам
 
Добрый день! Есть код оглавления книги. Данный макрос выводит оглавление на первый лист начиная с ячейки А1 и вниз в столбик. Возможно ли вывести оглавление в нужный диапазон к примеру начиная с А1 до А40 продолжая с В1 до В40 продолжая С1 до С40 и т.д. в зависимости от количества листов. Пример во вложении. Заранее спасибо!
Код
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 & "'" & "!A4"
         cell.Formula = sheet.Name
      Next
   End With
End Sub
 
примерно так
Код
Private Sub SheetList()
Const N As Long = 40
   Dim sheet As Worksheet
   Dim cell As Range, i&
   With ActiveWorkbook
      For Each sheet In ActiveWorkbook.Worksheets
        If sheet.Index > 1 Then
          Set cell = Worksheets(1).Cells(i Mod N + 2, i \ N + 1)
          .Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A4"
          cell.Formula = sheet.Name
          i = i + 1
        End If
      Next
   End With
End Sub
 
Казанский, спасибо, большое!
 
Еще один вопрос. Как вывести оглавление через столбик? К примеру заполняются А,С,E,G и т.д. с теми же условиями Long = 40
 
Savva, Set cell = Worksheets(1).Cells(i Mod N + 2, (i \ N) * 2 + 1)
 
Казанский, еще раз спасибо!
Страницы: 1
Наверх