Notifications
Clear all

Filtrar e copiar células mescladas para outro planilha

11 Posts
3 Usuários
0 Reactions
2,583 Visualizações
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Boa tarde pessoal,

Eu gostaria de saber se é possível fazer o seguinte através de uma macro:

- Filtra os dados de uma planilha de acordo com as informações da coluna "C".
- Copiar esses dados para outra planilha, mais aí tem um porem:

-- Meus dados estão parte em células mescladas de duas linhas e parte em uma linha, porém minha linha de interesse é dupla então preciso que a cópia seja dessa linha dupla com algumas células não mescladas.
-- Também preciso que a cópia seja feita entre os dados das colunas A até C e de R até AF, formando uma nova linha somente com esses dados ignorando o resto.

- Depois de copiar a primeira sequência de dados tenho que partir para a próxima. Exemplo: na coluna C tenho digitados 1, 2 e 3 de forma aleatória, então preciso filtrar todas as linhas 1, depois as linhas 2 e por fim as linhas 3.

Na imagem abaixo tem um exemplo da área a ser copiada em azul com a área onde as células não estão mescladas em vermelho.

Desde já, agradeço pela ajuda.

 
Postado : 21/10/2015 10:33 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Carlos, seria melhor ter anexado um modelo reduzido e compactado de acordo com as regras do forum, pela imagem pode-se dizer que o Filtro não acontece corretamente em celulas mescladas, mas de uma olhada em uma ajuda feita pelo Felipe no link abaixo é mais ou menos parecida e quem sabe consegue adaptar ao seu modelo.

Filtrar células mescladas
https://social.msdn.microsoft.com/Forum ... orum=vbapt

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/10/2015 11:50 am
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Bom dia Mauro,

Eu dei uma olhada no link e quase deu certo, mas não estou conseguindo definir os ranges que preciso para desmesclar e mesclar novamente. Eu preciso aplicar os códigos que você sugeriu entre as colunas A até K e depois de R até AG.
Uma outra coisa, eu precisava evitar que a formatação de cores das colunas fosse alterado, pois percebi que o código de remesclagem muda a formatação de cores das células.

Depois Copiar os dados nestes ranges e colar seus valores na planilha filtro como mencionei acima.

Eu tive um pouco mais de tempo hoje então fiz uma planilha de exemplo com os dados a serem filtrados.

Obrigado pela ajuda.

 
Postado : 22/10/2015 8:46 am
(@nelson-s)
Posts: 96
Trusted Member
 

Quais são as colunas utilizadas para filtrar os registros?

Os registros são filtrados um por vez ou podem ser filtrados vários registros de uma só vez? Poderia dar exemplos de filtragem?

A planilha (plan) "Filtro" seria "limpa" a cada filtragem ou os registros iriam sendo acumulados na planilha?

 
Postado : 22/10/2015 10:05 am
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Quais são as colunas utilizadas para filtrar os registros?

Os registros são filtrados um por vez ou podem ser filtrados vários registros de uma só vez? Poderia dar exemplos de filtragem?

A planilha (plan) "Filtro" seria "limpa" a cada filtragem ou os registros iriam sendo acumulados na planilha?

Boa tarde Nelson,

Minha intenção é realizar a filtragem de acordo com os dados da coluna C.

Preciso copiar na ordem todas as linha que contenha 102-A, depois 102-B, até 102-F.

Na planilha filtro eu vou precisar limpar apenas o range onde os dados forem copiados pois vou aplicar formulas na sequência.
Minha intenção no final é fazer este filtro funcionar com várias planilhas pois tenho uma planilha "Base" para cada mês no workbook onde vou criar o filtro.

 
Postado : 22/10/2015 10:34 am
(@nelson-s)
Posts: 96
Trusted Member
 

Minha intenção é realizar a filtragem de acordo com os dados da coluna C.

Preciso copiar na ordem todas as linha que contenha 102-A, depois 102-B, até 102-F.

Não sei se entendi muito bem, mas pela resposta que foi dada você não quer exatamente fazer um filtro, mas sim copiar todos os dados da planilha "Base" para a planilha "Filtro" de forma ordenada. Assim, seriam transferidos todos os registros contendo "102-A", depois todos os registros contendo "102-B",e assim sucessivamente. Os registros do mesmo Reator ficariam todos agrupados próximos um do outro.

Seria isso ou eu entendi errado?

 
Postado : 22/10/2015 12:07 pm
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Bom dia Nelson,

É isso mesmo que pretendo fazer, tem como com essa células mescladas pois estou quebrando a cabeça aqui e não consigo.

Obrigado

 
Postado : 23/10/2015 5:11 am
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Bom dia pessoal,

Consegui resolver uma parte do problema.

Já consegui filtra e copiar parte dos dados adaptando um código que achei no fórum (viewtopic.php?f=10&t=142#p391).

Ficou assim:

Sub Filtro()

Dim slin As Long
Dim elin As Long


slin = 9
elin = 2

Do While Sheets("Base").Cells(slin, 3) <> ""

If Sheets("Base").Cells(slin, 3).Value = "102-A" Then

Sheets("Base").Range("A" & slin & ":K" & slin + 1).Copy
Sheets("Filtro").Range("A" & elin).Select
ActiveSheet.Paste

Sheets("Base").Range("R" & slin & ":AF" & slin + 1).Copy
Sheets("Filtro").Range("L" & elin).Select
ActiveSheet.Paste

slin = slin + 2
elin = elin + 2

Else

slin = slin + 2

End If

Loop

End Sub

Agora só falta bolar um jeito de dar sequência para os outros valores da coluna C.

 
Postado : 23/10/2015 6:34 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

carlos, analisando a rotina que postou, acredito que é isto o que pretende.

Copiar e Classificar Mescladas

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/10/2015 5:59 pm
(@nelson-s)
Posts: 96
Trusted Member
 

Uma outra alternativa para a solução do problema, caso ainda não tenha sido resolvido...

 
Postado : 24/10/2015 12:36 am
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Mauro, Nelson,

Muito obrigado, era isso mesmo que eu precisava.

Att, Carlos

 
Postado : 26/10/2015 7:33 am