Macro para colocar dados de uma planilha em outra

Bom dia, vou tenho uma planilha de duas colunas, uma coluna nome e outra com um código, gostaria de uma macro que pegasse a informação da célula a1 por exemplo e procurasse essa informação na coluna código, e enviasse todas as incidências para outra planilha, de maneira que fosse montada uma planilha com a coluna nome somente das que tinham o código informado. Estou tentanto fazer com Procv mas ele me limita a somente a primeira incidência, e montando com matriz {} fica linhas em branco. Acredito que macro seria a solução mas não estou conseguindo montar.
Muito obrigado

bom dia
Obrigado pelo feedback

O que preciso é o seguinte, vou tentar escrever visto que não consigo colocar imagens aqui ainda:

Plan1
Tenho uma coluna A código funcionário e B numero do treinamento, serão inseridos valores mensalmente nessas colunas.

A B

funcionário treinamento

1 1

2 1

3 1

1 2

3 2

1 3

2 3

1 4

3 4

Plan2
Em outra ou na mesma planilha , que dai ajusto a impressão, na célula A1 (ou outra) coloco o codigo do funcionário, exemplo 1. Então gostaria que a partir dessa informação ele mostrasse na linhas seguinte:

A B

1

1

2

3

4

Ou seja, fizesse uma busca em quais treinamentos o funcionário participou.
Se puderem me ajudar agradeço!!!
Obrigado

Bem-vindo! Você precisar dar mais detalhes para que possam ajudar. Além da coluna código há mais colunas que você deseja levar para a outra planilha? Os nomes e as posições dos campos (colunas) é importante para construção da macro. Atte, Grafeno

Na verdade vocẽ quer um relatório de uma consulta a sua tabela para todas as ocorrências do código indicado.

Tente com Tabela Dinâmica.

Eu fiz com a tabela dinâmica, obrigado pela dica! muito interessante esse recurso, mas o resultado não ficou muito amigável, deve ser meu nível de conhecimento nessa ferramenta.
Se alguém me conseguisse uma macro eu agradeceria.
Obrigdo

Boa tarde,

Agora com os dados é possível estruturar a macro:

Sub Main
Dim oDoc As Object
Dim oPlan1 As Object
Dim oPlan2 As Object
Dim sFuncionario As String
Dim oCel As Object 
Dim i As Integer
Dim l As Integer

   oDoc = ThisComponent
   oPlan1 = oDoc.Sheets.getByName("Planilha1")
   oPlan2 = oDoc.Sheets.getByName("Planilha2")
   
   'Limpar valores e texto'
   oPlan2.getCellRangeByName("A2:A100").clearContents( 5 )

   sFuncionario = oPlan2.getCellRangeByName("A1").String
   
   i = 0
   l = 0
   Do
      oCel = oPlan1.getCellByPosition(0,i)      
      If oCel.String = sFuncionario Then
        l = l + 1
        oPlan2.getCellByPosition(0,l).Value = oPlan1.getCellByPosition(1,i).Value        
      End If       
      i = i + 1
   Loop Until oCel.String = ""
End Sub

Anexo:

Exemplo.ods

Atte,

1 Like

Perfeito!
Muito Obrigado Mesmo!
É exatamente o que tentei fazer, assim consigo trabalhar no “layout” para impressão.