+ Reply to Thread
Results 1 to 4 of 4

How can I list worksheet tabs as a table of contents?

  1. #1
    aellorac
    Guest

    How can I list worksheet tabs as a table of contents?

    I have a workbook which has quite a few worksheets. I'd like to have a table
    of contents which lists each worksheet but does not necessarily have to link
    to said worksheet. How might I accomplish this task?

    Thanks in advance for your assistance!

  2. #2
    Jim Cone
    Guest

    Re: How can I list worksheet tabs as a table of contents?

    The free Excel add-in "XL Extras" will do that. (plus other good stuff)
    Download from ... http://www.realezsites.com/bus/primitivesoftware
    No registration required.
    --
    Jim Cone
    San Francisco, USA
    http://www.realezsites.com/bus/primitivesoftware



    "aellorac"
    <[email protected]>
    wrote in message
    I have a workbook which has quite a few worksheets. I'd like to have a table
    of contents which lists each worksheet but does not necessarily have to link
    to said worksheet. How might I accomplish this task?
    Thanks in advance for your assistance!

  3. #3
    Gord Dibben
    Guest

    Re: How can I list worksheet tabs as a table of contents?

    To have a linked form.............

    Use VBA code from Bob Phillips..............

    Sub BrowseSheets()
    Const nPerColumn As Long = 38 'number of items per column
    Const nWidth As Long = 13 'width of each letter
    Const nHeight As Long = 18 'height of each row
    Const sID As String = "___SheetGoto" 'name of dialog sheet
    Const kCaption As String = " Select sheet to goto"
    'dialog caption
    Dim i As Long
    Dim TopPos As Long
    Dim iBooks As Long
    Dim cCols As Long
    Dim cLetters As Long
    Dim cMaxLetters As Long
    Dim cLeft As Long
    Dim thisDlg As DialogSheet
    Dim CurrentSheet As Worksheet
    Dim cb As OptionButton
    Application.ScreenUpdating = False
    If ActiveWorkbook.ProtectStructure Then
    MsgBox "Workbook is protected.", vbCritical
    Exit Sub
    End If
    On Error Resume Next
    Application.DisplayAlerts = False
    ActiveWorkbook.DialogSheets(sID).Delete
    Application.DisplayAlerts = True
    On Error GoTo 0
    Set CurrentSheet = ActiveSheet
    Set thisDlg = ActiveWorkbook.DialogSheets.Add
    With thisDlg
    .Name = sID
    .Visible = xlSheetHidden
    'sets variables for positioning on dialog
    iBooks = 0
    cCols = 0
    cMaxLetters = 0
    cLeft = 78
    TopPos = 40
    For i = 1 To ActiveWorkbook.Worksheets.Count
    If i Mod nPerColumn = 1 Then
    cCols = cCols + 1
    TopPos = 40
    cLeft = cLeft + (cMaxLetters * nWidth)
    cMaxLetters = 0
    End If
    Set CurrentSheet = ActiveWorkbook.Worksheets(i)
    cLetters = Len(CurrentSheet.Name)
    If cLetters > cMaxLetters Then
    cMaxLetters = cLetters
    End If
    iBooks = iBooks + 1
    .OptionButtons.Add cLeft, TopPos, cLetters * nWidth, 16.5
    .OptionButtons(iBooks).text = _
    ActiveWorkbook.Worksheets(iBooks).Name
    TopPos = TopPos + 13
    Next i
    .Buttons.Left = cLeft + (cMaxLetters * nWidth) + 24
    CurrentSheet.Activate
    With .DialogFrame
    .Height = Application.Max(68, _
    Application.Min(iBooks, nPerColumn) * nHeight + 10)
    .Width = cLeft + (cMaxLetters * nWidth) + 24
    .Caption = kCaption
    End With
    .Buttons("Button 2").BringToFront
    .Buttons("Button 3").BringToFront
    Application.ScreenUpdating = True
    If .Show Then
    For Each cb In thisDlg.OptionButtons
    If cb.Value = xlOn Then
    ActiveWorkbook.Worksheets(cb.Caption).Select
    Exit For
    End If
    Next cb
    Else
    MsgBox "Nothing selected"
    End If
    Application.DisplayAlerts = False
    .Delete
    End With
    End Sub


    Gord Dibben MS Excel MVP


    On Tue, 15 Aug 2006 13:49:01 -0700, aellorac
    <[email protected]> wrote:

    >I have a workbook which has quite a few worksheets. I'd like to have a table
    >of contents which lists each worksheet but does not necessarily have to link
    >to said worksheet. How might I accomplish this task?
    >
    >Thanks in advance for your assistance!


    Gord Dibben MS Excel MVP

  4. #4
    Gord Dibben
    Guest

    Re: How can I list worksheet tabs as a table of contents?

    Alternative to first post.

    Private Sub ListSheets()
    'list of sheet names starting at A1
    Dim Rng As Range
    Dim i As Integer
    Set Rng = Range("A1")
    For Each Sheet In ActiveWorkbook.Sheets
    Rng.Offset(i, 0).Value = Sheet.Name
    i = i + 1
    Next Sheet
    End Sub

    Just a list of sheets on a new sheet.




    On Tue, 15 Aug 2006 13:49:01 -0700, aellorac
    <[email protected]> wrote:

    >I have a workbook which has quite a few worksheets. I'd like to have a table
    >of contents which lists each worksheet but does not necessarily have to link
    >to said worksheet. How might I accomplish this task?
    >
    >Thanks in advance for your assistance!


    Gord Dibben MS Excel MVP

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1