Notifications
Clear all

Como fazer um select ou vetor ?

7 Posts
2 Usuários
0 Reactions
1,430 Visualizações
(@renatoddd)
Posts: 0
New Member
Topic starter
 

Amigos, bom dia, mais uma vez peço sua ajuda.

Tenho um arquivo com duas abas.

1 - nome (Dados). É uma base onde estão cadastrados todos os funcionários da empresa.
A1=Matrícula, B1=Nome, C=Área, D1=Data de Admissão, E1=Salário etc....

2 - nome (Resumo).
Na celula A1, esta uma ListBox contendo todos os cargos da empresa.
Na linha2, está o cabeçalho que cotém alguns dos campos do cabeçalho da aba "Dados".
A2=Matrícula, B2=salário etc.

O que eu preciso ?
Selecionar um cargo na listbox de A1 e, ao executar a macro, que vou colocar num botão, a macro busque na aba "Dados", todos os funcionários que tenham este cargo e, preencha a aba Resumo, com estes funcionários.

É uma espécie de filtro ou como se fosse no Acesses, uma "consulta".

Sabem como devo proceder ?

Obrigado.

 
Postado : 23/09/2014 6:11 am
(@renatoddd)
Posts: 0
New Member
Topic starter
 

Amigos, estou postando o arquivo.

Vejam que eu fiz a coisa funcionar mas não de uma forma adequada. Eu dei um "jeitinho".
Queria fazer de uma forma mais adequada, profissional.

Muito obrigado por sua ajuda.

Desconsiderem por favro a aba "Tabela".
Os dados que devem ser transpostos, devem ser inseridos na aba "Resumo, no intervalo que começa em C17.

Vejam por favor se podem ao menos me dizer que tipo de processo solucionaria o caso. Daí eu caio dentro de pesquisar como.

Obrigado a todos.

 
Postado : 23/09/2014 6:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Você Gravar uma Macro grave um filtro avançado!

Do contrário poste seu arquivo modelo compactado!!

Att

 
Postado : 23/09/2014 6:31 am
(@renatoddd)
Posts: 0
New Member
Topic starter
 

Bom dia!!

Você Gravar uma Macro grave um filtro avançado!

Do contrário poste seu arquivo modelo compactado!!

Att

Oi, bom dia.
Obrigado por responder.

Eu postei o arquivo. Veja por favor se consegue me orientar.

Abraço...

 
Postado : 23/09/2014 6:45 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Você consegue adaptar?

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    Dim myRange As Range
    On Error Resume Next
    Set myRange = Intersect(Range("E3"), Target)
    
   If Not myRange Is Nothing Then
 
   Worksheets("Resumo").Range("A17:P100000").ClearContents

Application.EnableEvents = False
    With Worksheets("Dados")
        .Range("A1:P" & .Cells(.Rows.Count, 1).End(xlUp).Row).AutoFilter Field:=7, Criteria1:=Worksheets("Resumo").Range("E3").Value
        .Range("A1:P" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(xlVisible).Copy ThisWorkbook.Worksheets("Resumo").Range("A17")
   
    End With
Application.EnableEvents = True
   End If
End Sub

insira esse código dentro de um modulo de planilha!

Att

 
Postado : 23/09/2014 6:57 am
(@renatoddd)
Posts: 0
New Member
Topic starter
 

AlexandreVBA meu caro, bom dia.

Obrigado por ajudar. Sua iniciativa é fantastica. Ajuda de forma muito rapida e precisa, pessoas que vc sequer conhece.
Acaba de me resolver uma questão importante.
Muito obrigado pelo empenho e atenção que deu ao caso.

Seu código só não se aplicou 100% à minha necessidade, pq no local de destino, há celulas mescladas.
Mas, a partir do seu código, eu consegui resolver.

Lhe sou muito grato.
Um grande abraço e bom dia.

 
Postado : 24/09/2014 5:44 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Eu fico feliz por ajudar, obrigado pelo retorno!! ;)

Obs: Como dica evite usar células mescladas!!!!!!!!!!!!!!!!!!

Att

 
Postado : 24/09/2014 5:57 am