Ir ao conteúdo

Macro para copiar linhas intercaladas para outra planilha


Andrey_Silva

Posts recomendados

Postado

Boa tarde amigos.

 

Seguinte, tenho um problema e gostaria que me ajudassem.

Preciso copiar os dados de uma linha e jogar para outra planilha.

O problema é que os dados estão em linhas intercaladas (linhas verdes) e no total são mais de 1000 linhas. 

Gostaria de fazer isso de modo automático criando uma macro.

Podem me ajudar?

Abraços

 

post-723532-0-91016500-1400167982_thumb.

post-723532-0-91016500-1400167982_thumb.

Postado

Boa tarde!!

 

Como não postou o arquivo, você pode gravar uma Macro para copiar os dados, como....

 

Considerando que uma determinada coluna (onde as linhas verdes), tem uma identidade que denuncie - as, filtro esse valor 

#DIV/0!, 

e cole na outra guia.

Postado

Boa tarde.

Agradeço por responder!

Caro Zinhovba, acho que não expliquei direito.

No arquivo que anexei aqui você vai entender. Meu sistema me gera esse arquivo;  como em um mesmo dia tenho várias análises eu preciso fazer uma média delas; assim tenho um média do dia (linha verde).

Dessa maneira  tenho que fazer isso para todos os dias.

É o seguinte, eu vou ter mais que 200 linhas verdes como essa em minha planilha; o que eu gostaria de fazer é criar uma macro que copie e cole todas as linhas verdes para outra planilha.

Se puder mu ajudar agradeço!

 

Forte abraço

Torre.xls

Postado

Bom dia!

Bom anexei a planilha novamente para ficar mais claro.

O arquivo que meu sistema gera é aquele que enviei que não tem as linhas verdes, ok?

Pois bem, o que eu fiz foi desenvolver uma macro onde a cada final de análise do dia, ele insere uma linha em branco e depois eu faço a média de todas as varíaveis ( sílica, pH, etc, etc).

A linha onde faço essa média é a linha verde, entendeu?

Meu critério de cópia seria copiar todas as linhas verdes cujo faço a média de cada dia e copiar os valores para a planilha "linhas a serem copiadas".

Se puder me ajudar ficaria grato , ok?

Abraços

 

Cópia de Torre.xls

Postado

@Andrey

 

Com o fim de racionalizar o seu trabalho sugiro que utilize um único código para inserir as linhas, inserir as fórmulas que calculam as médias e copiar essas linhas para a outra planilha. Ainda, o código poderá limpar a planilha 1, se quiser.

Se houver interesse informe se serão sempre 8 leituras por dia e se os dados sempre serão lançados a partir da linha 6. Informe também como deseja disparar o código, se por meio de botão, por exemplo, ou outro meio.

Postado

Boa tarde osvalomp. 

 

Tudo bem? 

 

Com certeza! Um único código seria o ideal!

 

Respondendo suas perguntas: sim; sempre serão 8 leituras por dia e sempre a partir da linha 6.

Quanto a disparar o código, pra mim tanto faz. 

Confesso que por meio de um botão seria mais prático.

Poderia me ajudar?

Abraços

Postado

@Andrey

Testaí.

 

Instale o código abaixo em um módulo comum, assim:
1. copie o código daqui
2. a partir de qualquer planilha tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

o código poderá ser rodado a partir de qualquer planilha do arquivo

 

Sub InsereLinhasFórmulasCola()  Dim LRo As Long, LRd As Long, k As Long, wsO As Worksheet, wsD As Worksheet    Set wsO = Sheets("Planilha 1"): Set wsD = Sheets("linhas a serem copiadas")    LRo = wsO.Cells(Rows.Count, 1).End(xlUp).Row    For k = 14 To LRo + Int(LRo / 9) Step 9      wsO.Rows(k).Insert      wsO.Cells(k - 1, 1).Copy wsO.Cells(k, 1)      wsO.Cells(k, 3) = _        "=SUMIF(R[-8]C:R[-1]C,""<>0"",R[-8]C:R[-1]C)/ (COUNT(R[-8]C:R[-1]C)-(COUNTIF(R[-8]C:R[-1]C,0)))"      wsO.Cells(k, 3).AutoFill wsO.Cells(k, 3).Resize(, 18)      LRd = wsD.Cells(Rows.Count, 1).End(xlUp).Row      wsD.Cells(LRd + 1, 1).Resize(, 20).Value = wsO.Cells(k, 1).Resize(, 20).Value    Next kEnd Sub


 

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...