Notifications
Clear all

Macro para criar planilha resumida

8 Posts
3 Usuários
0 Reactions
1,048 Visualizações
(@leoeam)
Posts: 3
New Member
Topic starter
 

OI pessoal, preciso de uma ajuda para criar uma planilha em forma de resumo de uma planilha maior e mais complexa.

A planilha original tem mais de 12000 linhas e 300 colunas. Desta planilha vou coletar os dados que estao sempre na mesma coluna, variando apenas o numero da linha. Essa variação da linha é sempre constante.

O anexo é um modelo de exemplo do que preciso.

Não sei se tem um comando que faça isso sem a necessidade de criar uma macro.

Bem, é isso.

Obrigado

 
Postado : 20/05/2014 8:08 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Mas... qual é a lógica?

Pq copiar B2, B7, B15, B17 e B22?

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 20/05/2014 8:16 pm
(@edcronos)
Posts: 1006
Noble Member
 

vamo lá ...

1º 2819,4 onde D3 recebe B15
<<----- oq isso quer dizer??????.
que tipo de informação vai ser pego de b15 e qual o critério de escolha ???

2º Resumo <<---- Apenas apresentar os dado importantes ou tbm excluir os dados não relevantes???

Se for apenas para apresentar informação relevante deve dá para fazer por formulas
mas 10000 linhas e formula matriciais vai ficar super lento.

se for para excluir os dados que sobraram, ou para copiar os dados de maneira limpa tem que ser por macro

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 20/05/2014 8:22 pm
(@leoeam)
Posts: 3
New Member
Topic starter
 

Olá gtsalikis, a lógica está em refinar os dados. Na minha planilha original existem vários tipos de dados. Variáveis quantitativas, qualitativas, textos etc, que eu não quero utilizar em uma apresentação.
Desta forma queria apenas buscar os dados que quero apresentar e os colocar em uma única planilha, pra organizar formatação etc. Por isso criar uma nova planilha copiando B2, B7 etc multiplos de 5.
Eu terei de fazer alterações mas me mostrando como fazer para esse, entenderei como funciona a ferramenta e poderei montar para a planilha real que tenho.
Eu terei várias colunas diferentes para organizar com intervalos de linhas contantes mas diferentes para cada coluna. Mas como disse, tendo esse exemplo poderei modificar a macro, por exemplo.

Opa Edcronos, rapaz bassou batido essa falha, o certo é: 2819,4 onde a célula D3 recebe o valor que esta na célula B12.
Sim, apenas apresentar os dados SEM fazer nada na planilha original.

Não conheço uma maneira de usar uma fórmula para isso. Estava pensando mais em macro.

Agradeço a ambos.

 
Postado : 21/05/2014 5:21 am
(@gtsalikis)
Posts: 2373
Noble Member
 

leoeam,

Desculpe, mas não ficou muito clara a lógica. Vc disse que quer buscar múltiplos de 5, porém, a sequência que vc passou não reflete isso, veja:

B2, B7, B15, B17 e B22

2 + 5 = 7 (OK para B7)
7 + 5 = 12 (problema, não chegou a B15)

Mas, se são múltiplos de 5, coloque essa fórmula em C2 e arraste para baixo:

=INDIRETO("B"&((LIN()-1)*5)-3)

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 21/05/2014 5:34 am
(@edcronos)
Posts: 1006
Noble Member
 

para fazer por macro vai ter que ser feito um loop varrendo a coluna de origem para colar na coluna de destino

mas para isso tem que saber os critérios corretos para pegar esses dados

faça uma planilha de exemplo

na Plan 1 coloque os dados de Origem
masque a linha que começa os dados.
marque os dados que vão ser copiados e escreva do lado o "porque" está copiando.

na Plan 2 coloque os dados copiados da Origem na posição que vc quer

e assinale a ordem de leitura de cima para baixo ou de baixo para cima

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 21/05/2014 7:17 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Edcronos, se entendi direito, o critério ele já deu: copiar a cada 5 linhas.

Além da fórmula que postei acima, esse código deve bastar:

Sub Resumir_GT()
Application.ScreenUpdating = False
Dim i As Long
Dim j As Long
Dim UL As Long 'UL = Última Linha
UL = Cells(Rows.Count, "B").End(xlUp).Row
i = 2
For j = 2 To UL Step 5
    Cells(i, "D").Value2 = Cells(j, "B").Value2
    i = i + 1
Next j
Application.ScreenUpdating = True
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 21/05/2014 10:38 am
(@leoeam)
Posts: 3
New Member
Topic starter
 

Deu super certo...

Muito obrigado a todos... e principalmente ao gtsalikis. Ambos as soluções propostas por você foram satisfatórias.

Parabéns ao fórum, cheio de gente querendo ajudar... Muito bom isso...

Abrigado.

 
Postado : 21/05/2014 11:27 am