Notifications
Clear all

Pesquisa de Abas

10 Posts
4 Usuários
0 Reactions
1,774 Visualizações
(@xandrinho)
Posts: 0
New Member
Topic starter
 

Amigos, poderiam me ajudar, por favor?

Tenho uma planilha com varias abas e gostaria de criar um "Caixa de Combinação ou Caixa de Listagem" (Menu suspenso) para localizar e pesquisar estas abas porem gostaria que esta caixa de combinação fosse “flutuante”, ou seja, seu eu digitar o nome da aba teste, na aba teste tb apareceria o menu para pesquisar outras abas, mas que se for necessário imprimir alguma aba, esta Caixa de Combinação não fosse impressa... Fiz um arquivo exemplo, porem no arquivo oficial tem mais de 3000 abas.

Podem me ajudar?

 
Postado : 20/08/2014 4:12 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

xandrinho, bom dia!

Eu tenho uma planilha de uso pessoal que faz exatamente isso que você quer.
Se quiser usar o código como teste usando lista suspensa:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("H6")) Is Nothing Then   'H6 é a célula onde fica a linha suspensa
   Sheets((Range("H6").Value)).Select

' Select Case Target.Value
'        Case 1
'            Sheets("CC1010").Select
'        Case 2
'            Sheets("CC1011").Select
'         Case 3
'            Sheets("CC1012").Select
'         Case 4
'            Sheets("CC1013").Select
'         Case 5
'            Sheets("CC1014").Select
'        Case Else
'            MsgBox ("voce escolheu planiha 1 ou 6 ")
'            Sheets("Planilha_VI").Select
'    End Select
End If

End Sub

Esse código é inserido em todas as abas.
Porém, você disse que tem mais de 3000 abas na sua planilha. Então vai ser muito trabalhoso.
Alguém aqui no fórum terá algum mais prático que possa lhe atender!

Att,

 
Postado : 20/08/2014 4:39 am
(@edcronos)
Posts: 1006
Noble Member
 

não seria mais pratico ter um userform com um combobox

a macro ficaria mais ou menos assim...

Private Sub Nome_combobox1_DropButtonClick()
    Call ComboBoxPLanilha("Nome_combobox1")'   <<----chama a macro para preencher com nomes de planilhas
    Sheets(Nome_combobox1.Value).Select'  <<---Seleciona a aba excolhida
End Sub

Preenche o combobox com os nomes das abas existentes

Sub ComboBoxPLanilha(ByVal NomeCombobox As String)
    With Me.Controls(NomeCombobox)
        Do While .ListCount > 0: .RemoveItem (0): Loop
        For Each sheetos In Worksheets
            .AddItem sheetos.Name
        Next
    End With
End Sub

att

 
Postado : 20/08/2014 12:35 pm
(@edcronos)
Posts: 1006
Noble Member
 

fiz uma planilha de exemplo com userform
o combobox1 lista todas as abas existentes
o combobox2 lista as abas por qual vc navegou

os botões volta e avança tem que ser implementado "Para navegar entre as abas já selecionadas"

não sei como fazer o combobox selecionar o item pelo numero
os botões até selecionam o próximo item da combobox mas como o item dele não muda não tem como fazer a próxima navegação
"ante ontem eu tinha feito isso mas como não usei acabei esquecendo"

mas tenta adaptar

 
Postado : 20/08/2014 2:33 pm
(@edcronos)
Posts: 1006
Noble Member
 

Bem,
Acertei os botões
E adicionei Escolher ou Escrever o Nome da aba que se quer
se escrever vai ter um auto completar e tem que clicar no botão Vai

ela faz uma lista das abas que se navega
e pelo botão voltar pode voltar para a aba que estava antes

"acho que vai gostar"
afinal deve facilitar navegar entre as 3000 abas
qualquer coisa é só adicionar teclas de atalho para a useform

Posteriormente se suas planilhas tiverem identificadores de conteúdo se pode listar apenas planilhas especificas.

 
Postado : 20/08/2014 3:48 pm
(@xandrinho)
Posts: 0
New Member
Topic starter
 

Bom Dia!!!!

Em primeiro Lugar quero te agradecer pelo apoio. Porém teria como vc postar o arquivo em .zip?...pois .rar não consigo abrir, se vc puder postar em .zip, vou ficar inteiramente agradecido.....logo após já faço e teste e te encaminho um feedback....
Abraços.

 
Postado : 21/08/2014 4:10 am
(@edcronos)
Posts: 1006
Noble Member
 

segue...

 
Postado : 21/08/2014 8:55 am
(@denisw)
Posts: 64
Estimable Member
 

mais simples
crie uma coluna no excel e com o nome das abas
faça um useform com um cmbbox, e no row source coloque a coluna q vc fez os cadastros.

depois crie um botao e

Private Sub pegaaba_Click()
Worksheets(cmbaba.Value).Select
End Sub
Para usar em todas as planilahs basta criar uma macro useform.show e adiciona-la no menu do excel , na opção personalziar barra de acesso rápido >comados>macros> (nome da macro) ele criará um botão ao lado do botão localizar na barra de acesso rápido

 
Postado : 21/08/2014 10:26 am
(@xandrinho)
Posts: 0
New Member
Topic starter
 

segue...

Ficou ótimo muito obrigado...melhor do que imaginava.....Vocês são formidáveis...
...Muito obrigado!!!

 
Postado : 21/08/2014 3:53 pm
(@xandrinho)
Posts: 0
New Member
Topic starter
 

mais simples
crie uma coluna no excel e com o nome das abas
faça um useform com um cmbbox, e no row source coloque a coluna q vc fez os cadastros.

depois crie um botao e

Private Sub pegaaba_Click()
Worksheets(cmbaba.Value).Select
End Sub
Para usar em todas as planilahs basta criar uma macro useform.show e adiciona-la no menu do excel , na opção personalziar barra de acesso rápido >comados>macros> (nome da macro) ele criará um botão ao lado do botão localizar na barra de acesso rápido

Ok, muito obrigado pelo apoio....

 
Postado : 21/08/2014 3:54 pm