Página 1 de 1

Selecionar e exibir planilhas alfabeticamente.

Enviado: 06 Out 2018 às 10:50
por aleksander
Bom dia pessoal!

Tenho uma grande quantidade de planilhas e preciso exibi-las de uma forma mais otimizada.
Pensei em, por exemplo, uma seleção alfabética, todas que começam com a letra "A", ocultando as demais, depois todas com a letra B, também ocultando as demais, e assim por diante.
Pensei o código dessa forma, mas se houver outra mais inteligente, blz!
Código: Selecionar todos
Sub selecionarAlfabeticamente()
Dim j As Worksheet

    For Each j In ActiveWorkbook.Worksheets
        
'Essa linha de código não sei construir ... 
        j.Visible = xlSheetHiddem
        
    Next j
        ' Após o laço for, exibe-se somente as que precisam ser trabalhadas.
    Worksheets("ESCOLHA").Activate
    Worksheets("A.....").Select.Visible = True
    Worksheets("A.....").Select.Visible = True
    
    
    
End Sub

Re: Selecionar e exibir planilhas alfabeticamente.

Enviado: 06 Out 2018 às 13:44
por osvaldomp
aleksander escreveu: Tenho uma grande quantidade de planilhas e preciso exibi-las de uma forma mais otimizada.
O que exatamente você quer dizer com "forma mais otimizada" ?
Qual o resultado desejado ?

Selecionar e exibir planilhas alfabeticamente.

Enviado: 06 Out 2018 às 23:03
por aleksander
Olá Osvaldo,

Primeiramente, muito obrigado pela ajuda.

Ao preencher os dados em cada planilha, pela quantidade delas, 51 no total; (e cada uma referente as notas de um aluno cuja planilha leva o nome dele, por exemplo,) tem-se de ficar percorrendo a paleta de um lado para o outro até chegar a planilha desejada.

Pretendi criar diversas macros, cada uma delas acionada por um botão, a macro referente a letra "A" oculta todas as planilhas; mas deixa somente aquela cujos nomes iniciam com a letra A, que são no caso 4 planilhas. O resultado será a exibição de somente 4 planilhas ao invés de 51, ficando mais fácil para o preenchimento; e assim com todas as letras do alfabeto...

Espero ter sido claro
Grato

Selecionar e exibir planilhas alfabeticamente.

Enviado: 06 Out 2018 às 23:24
por aleksander
Osvaldo acho que consegui...
Código: Selecionar todos
Sub selecionarAlfabeticamente()

    Dim j As Worksheet
    Dim letraA As String
        
    letraA = "A"
    
   
    For Each j In Application.ActiveWorkbook.Worksheets
        If Left(j.Name, 1) <> Left(letraA, 1) Then
            j.Visible = xlSheetHidden
    End If
    
    Next  j
    
End Sub
Mas se você tiver uma ideia, agradeço!

Selecionar e exibir planilhas alfabeticamente.

Enviado: 07 Out 2018 às 00:08
por aleksander
Osvaldo boa noite!

Pensei ter resolvido o código, mas encontra erro com frequência... funcionou uma, ou outra vez de resto trava.
Código: Selecionar todos
Sub selecionarA()

    Dim j As Worksheet
    Dim letraA As String
        
    letraA = "A"
    
   
    For Each j In Application.ActiveWorkbook.Worksheets
        
        If Left(j.Name, 1) <> Left(letraA, 1) Then
                
            j.Visible = xlSheetHidden
            
        End If
    
    Next
    
    Worksheets("ESCOLHA").Visible = True
    Worksheets("DADOS").Visible = True
    
    
End Sub

Re: Selecionar e exibir planilhas alfabeticamente.

Enviado: 07 Out 2018 às 08:44
por osvaldomp
Olá, Aleksander.
O código abaixo deixará visíveis somente as planilhas cujo nome se inicie com "a" ou com "A".
Código: Selecionar todos
Sub selecionarA()
 Dim j As Worksheet
  For Each j In ThisWorkbook.Worksheets
   j.Visible = (UCase(Left(j.Name, 1)) = "A")
  Next j
End Sub
Para dotar o código de flexibilidade no sentido de permitir ao usuário escolher a letra inicial do nome das planilhas, pode-se incluir no início do código uma caixa de entrada para receber a letra ou receber o primeiro nome.

Como alternativa, segue uma ideia. Pode-se elaborar um outro código para listar e ordenar os nomes de todas as planilhas do arquivo, por exemplo na coluna A da planilha ESCOLHA, mantendo somente determinadas planilhas como visíveis, e aí o usuário clicaria sobre o nome da lista para acessar a respectiva planilha, e após consultar/editar, duplo clique em alguma célula para ocultá-la novamente.