Como visualizar todos os rótulos de folhas no MS Excel?

0

Eu tenho um arquivo MS Excel com muitas planilhas e preciso migrar para elas.

Como posso listar todos os rótulos e passar para um específico?

    
por Ale 07.11.2015 / 12:05

1 resposta

0

Interessante. Acabei de escrever três macros que farão isso razoavelmente bem. A primeira macro gera uma folha de resumo (chamada sh_summary ) no final da pasta de trabalho e a seleciona. Em seguida, a partir dessa nova planilha de resumo, você seleciona um dos nomes de planilhas desejados (por exemplo, selecione a célula A2) e, em seguida, inicia a segunda macro que selecionará / navegará até a planilha escolhida. A terceira macro levará você de volta à planilha de resumo. A segunda e terceira macros devem ser de corte curto, para navegação rápida.

1:

Sub findSheets()
    Dim sheetNum As Integer
    Dim i As Integer
    Dim theSh(999)

    'count sheets:
    sheetNum = ActiveWorkbook.Worksheets.Count

    'check for a summary sheet and delete it if found:
    For i = 1 To sheetNum
        If ActiveWorkbook.Worksheets(i).Name = "sh_summary" Then
            Application.DisplayAlerts = False
            ActiveWorkbook.Worksheets(i).Delete
            Application.DisplayAlerts = True
        End If
    Next i

    'count sheets again:
    sheetNum = ActiveWorkbook.Worksheets.Count

    'get sheet names
    For i = 1 To sheetNum
        theSh(i) = ActiveWorkbook.Worksheets(i).Name
    Next i

    'create summary sheet:
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Select
    Sheets(Sheets.Count).Name = "sh_summary"

    'print sheet names on summary sheet:
    For i = 1 To sheetNum
        Cells(1, 1).Value = "Worksheet summary:"
        Cells((1 + i), 1).Value = theSh(i)
    Next i
End Sub

2:

Sub navToSheet()
    On Error Resume Next
    ActiveWorkbook.Worksheets(ActiveCell.Value).Select
    If Err.Number <> 0 Then
        MsgBox "Can't find sheet - select and try again."
        Err.Clear
    End If
End Sub

3:

Sub navToSummary()
    On Error Resume Next
    ActiveWorkbook.Worksheets("sh_summary").Select
    If Err.Number <> 0 Then
        MsgBox "Can't find summary sheet."
        Err.Clear
    End If
End Sub
    
por 08.11.2015 / 13:30