VBA Excel - Criando Índice de todas as Abas - Create An Index Page





Nós desenvolvedores gostaríamos todos de viver num mundo ideal onde tivéssemos bastante tempo para analisar os dados que transformaremos em informações. Seria muito importante que pudéssemos gastar algum tempo prospectando o modo como as informações serão analisadas pelos usuários finais. 

Raras são as vezes onde conseguimos tempo para isso. O código a seguir implementa uma facilidade que não requererá nada do nosso tempo para desenvolver. Apenas podemos copiar e colar.

Tornar os Dashboards mais funcionais, rápidos e práticos é uma das nossas obrigações.

Estamos constantemente sob o paradoxo de não termos tempo para implementar as facilidades que farão com que os usuários utilizem massivamente as nossas soluções. 

A criação de um índice para as diversas planilhas dentro do nosso workbook certamente será bem vinda.

- Acrescente a chamada a este procedimento assim que o workbook for aberto:


Private Sub Workbook_Open()

    Call CreateIndex

End Sub

Crie um novo módulo e cole o conteúdo abaixo:


Sub CreateIndex()

    Let Application.DisplayAlerts = False

    

    On Error Resume Next

    

    Sheets("Index").Delete

    

    On Error GoTo 0

    

    Set myIndex = Sheets.Add(Sheets(1))

    

    Let myIndex.Name = "Index"

    Let iRow = 1

    

    For Each theSheet In ThisWorkbook.Sheets

        If iRow = 1 Then

            Let Cells(iRow, 1).Value = "INDEX"

        Else

            ActiveSheet.Hyperlinks.Add Anchor:=Cells(iRow, 1) _

             , Address:="", SubAddress:= _

             "'" & theSheet.Name & "'" & "!A1", TextToDisplay:=theSheet.Name

        End If

        

        Let iRow = iRow + 1

    Next



    Sheets("Index").Move After:=Sheets(1)

End Sub


Tags: VBA, index, sheet, page, create, índice, planilha, worksheet



Nenhum comentário:

Postar um comentário

diHITT - Notícias