Notifications
Clear all

Transpor Dados

7 Posts
2 Usuários
0 Reactions
1,336 Visualizações
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, Srs.

Estou com uma duvida em transpor alguns dados.
No arquivo anexo eu tenho a Plan1 com os dados em linhas, onde eu gostaria de deixar um do lado do outro, conforme a Plan2.
A Plan2 estaria limpa onde eu pegaria a data e usaria como chave na Plan2 depois passaria os dados para a Plan2 conforme a data.

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 30/04/2015 9:47 pm
(@edcronos)
Posts: 1006
Noble Member
 

seu exemplo está um bocado confuso,
não dá para seguir qual dado vai para onde e pq

e oq tem haver com transpor dados?

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 : 30/04/2015 10:34 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, Edcronos.

Peço desculpas na minha explicação, mas o que estou tentando fazer é colocar a duas inconsistência uma na frente da outra

1. Eu estaria pegando a Data (Coluna C) na Plan1 e jogando na Plan2 retirando os repetidos caso tenha;
2. Na Plan2 usando com referencia a Data que agora esta na Coluna A, eu faria estilo um procv pra trazer a inconsistência 1 na Coluna D o Total e Total Somado;
3. Ainda na Plan2 usando a Data faria estilo um procv pra trazer a inconsistência 2 na Coluna G o Total e Total Somado;
4. Usando a Data ainda como referencia eu preencheria a Coluna B(Dia da Máxima) e C(Num. Dias Chuva).

Não sei se consegui passar o que eu quero fazer

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 01/05/2015 6:24 pm
(@edcronos)
Posts: 1006
Noble Member
 

eu devo estar com inconsistência de raciocínio pq não entendi praticamente nada
só isso : 1. Eu estaria pegando a Data (Coluna C) na Plan1 e jogando na Plan2 retirando os repetidos caso tenha;

pq não coloca de onde vem os dados na plan de destino e o Por que vem dali

mas lendo "retirando os repetido"
seria que vc quer tirar as linhas com datas repetidas e somar os valores delas?

data1 v10
data1 v8
data2 v6

destino
data1 v18
data2 v6

se bem que aí as celulas em branco não fariam sentido

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 : 01/05/2015 6:39 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, Edcronos.

Sei que não estou conseguindo passar o que estou tentando realizar.

A Data vai ser a chave para trazer se possui inconsistência, se tiver inconsistência tipo = 1 naquela Data inserir na coluna D o número 1 e na coluna E o " Total " e na Coluna F o " Total Somando " que representa naquele dia aquela inconsistência, essa regra também seguirá para o tipo de inconsistência = 2 naquela Data inserir na coluna G o número 2 e na coluna H o " Total " e na Coluna I o " Total Somando " que representa naquele dia aquela inconsistência.
As células em branco e por que na data não teve nem um tipo de inconsistência.

Anexo segue um arquivo com formula que montei:

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 01/05/2015 8:23 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, Srs.

Depois que quebrar a cabeça consegui fazer uma POG, que atendeu a minha necessidade de imediato, caso os senhores tenhas outras sugestões postem aqui!

Sub Transpor()

Dim Count As Integer

Count = 2

    SheetData1.Range("C2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    
    SheetData3.Select
    SheetData3.Range("A2").Select
    ActiveSheet.Paste
    
    While Not IsEmpty(SheetData3.Range("A" & Count))
        
        SheetData3.Range("B" & Count).Value = "=IFERROR(VLOOKUP(C[-1],Plan1!C[1]:C[8],4,0),"""")"
        SheetData3.Range("C" & Count).Value = "=IFERROR(VLOOKUP(C[-2],Plan1!C:C[7],5,0),"""")"
        SheetData3.Range("D" & Count).Value = "=IF(IFERROR(VLOOKUP(C[-3],Plan1!C[-1]:C,2,0),"""") = 1, IFERROR(VLOOKUP(C[-3],Plan1!C[-1]:C,2,0),""""),"""")"
        SheetData3.Range("E" & Count).Value = "=IF(SUMIFS(Plan1!C[4],Plan1!C[-2],Plan3!C[-4],Plan1!C[-1],Plan3!C[-1]) = 0,"""",SUMIFS(Plan1!C[4],Plan1!C[-2],Plan3!C[-4],Plan1!C[-1],Plan3!C[-1]))"
        SheetData3.Range("F" & Count).Value = "=IF(SUMIFS(Plan1!C[4],Plan1!C[-3],Plan3!C[-5],Plan1!C[-2],Plan3!C[-2]) = 0,"""",SUMIFS(Plan1!C[4],Plan1!C[-3],Plan3!C[-5],Plan1!C[-2],Plan3!C[-2]))"
        SheetData3.Range("G" & Count).Value = "=IF(IFERROR(VLOOKUP(C[-6],Plan1!C[-4]:C[-3],2,0),"""") = 2, IFERROR(VLOOKUP(C[-6],Plan1!C[-4]:C[-3],2,0),""""),"""")"
        SheetData3.Range("H" & Count).Value = "=IF(SUMIFS(Plan1!C[1],Plan1!C[-5],Plan3!C[-7],Plan1!C[-4],Plan3!C[-1]) = 0,"""",SUMIFS(Plan1!C[1],Plan1!C[-5],Plan3!C[-7],Plan1!C[-4],Plan3!C[-1]))"
        SheetData3.Range("I" & Count).Value = "=IF(SUMIFS(Plan1!C[1],Plan1!C[-6],Plan3!C[-8],Plan1!C[-5],Plan3!C[-2]) = 0,"""",SUMIFS(Plan1!C[1],Plan1!C[-6],Plan3!C[-8],Plan1!C[-5],Plan3!C[-2]))"
        
        Count = Count + 1
        
    Wend
    
    SheetData3.Range("A2").Select
    SheetData3.Range(Selection, Selection.End(xlToRight)).Select
    SheetData3.Range(Selection, Selection.End(xlDown)).Select
    
    Selection.Copy
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    Application.CutCopyMode = False
    
    SheetData3.Range("A1").Select
    
End Sub

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 05/05/2015 9:21 pm
(@edcronos)
Posts: 1006
Noble Member
 

cara desculpe, eu tinha até esquecido desse aqui,
mas tbm é pq não sei como funciona procv, só usei 2 quando comecei e larguei de lado
e vc tbm não deu mais informação de como pegar os dados certo, e aprender um função para não usar ela é estranho né

mas bem,
para facilitar o uso, entendimento e alterações
vc pode usar formulalocal e usar a mesma formula que usaria na planilha com poucas modificações

pode tbm tentar usar Application.WorksheetFunction para passar apenas os valores das formulas
cells(1,1).value2=Application.WorksheetFunction.Trim(Mid(Cells((L - 4) + 5, 1), 25, 10))

para tornar as formulas da range em valores
range(cells( linha_inicial , coluna_inicial ),cells( linha_Final , coluna_Final ).value2=range(cells( linha_inicial , coluna_inicial ),cells( linha_Final , coluna_Final ).value2

serve tbm para copiar dados de uma range para outra ou até de uma planilha

bem eu estou tentando largar o forum
boa sorte aí

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 : 05/05/2015 10:36 pm