Notifications
Clear all

Gerar relatório automático de outra aba

6 Posts
3 Usuários
0 Reactions
1,761 Visualizações
(@rarph84)
Posts: 39
Trusted Member
Topic starter
 

Boa tarde,

Pessoal estou com um desafio enorme que passeio o dia todo hj e não consegui resolver, diante disso venho pedir a ajuda dos amigos.

Os valores na coluna B (Cód.) na sheet 'FEFO' aparecem mais de uma vez na aba 'BD' (pode aparecer ou não mais de uma vez) eu gostaria que se esse código se repetir na aba BD aqui (sheet 'FEFO') inclua uma linha abaixo dele e importe todos os dados na mesma linha (estoque-coluna R em BD e data vencimento-coluna W em BD, as informações de faturamento e média vou importar de uma fonte externa via formula), passei o dia quebrando a cabeça com formulas ou códigos vba e não consegui... alguém sabe dizer se é possível e me ajudar com sugestões????

Segue anexo com resultado esperado em FEFO puxando de BD.

Abraço.

 
Postado : 09/01/2018 2:01 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Se eu entendi bem o que quer, isso pode ser feito com uma tabela dinâmica..

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 09/01/2018 2:11 pm
(@rarph84)
Posts: 39
Trusted Member
Topic starter
 

Na verdade estou apenas começando o indicador... ele terá multifunções e será usado pela diretoria da empresa.. daí o motivo de não usar uma dinâmica... preciso de algo mais profissional... tentei várias coisas aqui, mas como ainda não domino o vba (é um mundo de informações) pensei em pedir a ajuda de vcs.

Se alguém puder ajudar... desde já mto obg.

 
Postado : 09/01/2018 2:23 pm
(@rarph84)
Posts: 39
Trusted Member
Topic starter
 

Galera andei pesquisando tanto aqui, quanto em outros fóruns, mas não encontrei ainda o que preciso... mas encontrei algo parecido... simplifiquei um pouco mais a minha necessidade para ver se alguém tem disponibilidade de ao menos orientar como devo proceder...

O que preciso é importar alguns dados (não todos que estão na linha, somente os destacados em amarelo na sheet 'validade_geral)2018') para uma nova sheet conforme nova formatação e layout.

Obs: encontrei esse código que faz algo parecido, mas não consegui adaptar, alguém ajuda?

Sub procurar()

ULTIMA_LINHA_OBMS = Sheets("O.BMS").Range("A1048576").End(xlUp).Row
ULTIMA_LINHA_LPU = Sheets("LPU").Range("A1048576").End(xlUp).Row

If ULTIMA_LINHA_LPU = 11 Then
   ULTIMA_LINHA_LPU = 12
End If

x_ROWS = "12:" & ULTIMA_LINHA_LPU
Rows(x_ROWS).Select
Selection.Delete Shift:=xlUp

ULTIMA_LINHA_LPU = Sheets("LPU").Range("A1048576").End(xlUp).Row

If ULTIMA_LINHA_LPU = 11 Then
   ULTIMA_LINHA_LPU = 12
End If

n_IMP = 2

For n_IMP = 2 To ULTIMA_LINHA_OBMS

VALOR1 = Sheets("O.BMS").Cells(n_IMP, 4).Value
VALOR2 = Sheets("O.BMS").Cells(n_IMP, 5).Value

If VALOR1 <> 0 Or _
   VALOR2 <> 0 Then
   
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 1).Value = Sheets("O.BMS").Cells(n_IMP, 1).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 2).Value = Sheets("O.BMS").Cells(n_IMP, 2).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 3).Value = Sheets("O.BMS").Cells(n_IMP, 3).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 4).Value = Sheets("O.BMS").Cells(n_IMP, 4).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 5).Value = Sheets("O.BMS").Cells(n_IMP, 5).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 6).Value = Sheets("O.BMS").Cells(n_IMP, 6).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 7).Value = Sheets("O.BMS").Cells(n_IMP, 7).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 8).Value = Sheets("O.BMS").Cells(n_IMP, 8).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 9).Value = Sheets("O.BMS").Cells(n_IMP, 9).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 10).Value = Sheets("O.BMS").Cells(n_IMP, 10).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 11).Value = Sheets("O.BMS").Cells(n_IMP, 11).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 12).Value = Sheets("O.BMS").Cells(n_IMP, 12).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 13).Value = Sheets("O.BMS").Cells(n_IMP, 13).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 14).Value = Sheets("O.BMS").Cells(n_IMP, 14).Value
Sheets("LPU").Cells(ULTIMA_LINHA_LPU, 15).Value = Sheets("O.BMS").Cells(n_IMP, 15).Value

   
ULTIMA_LINHA_LPU = ULTIMA_LINHA_LPU + 1
   
   
End If



Next


End Sub

Anexei novo arquivo.

Obg

 
Postado : 11/01/2018 9:11 am
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub CopiarDados()

Dim linha As Long

linha = 2

While Sheets("validade_geral").Cells(linha, 1).Value <> ""

Sheets("Planilha1").Range("A" & linha).Value = Sheets("validade_geral").Range("I" & linha).Value
Sheets("Planilha1").Range("B" & linha).Value = Sheets("validade_geral").Range("K" & linha).Value
Sheets("Planilha1").Range("C" & linha).Value = Sheets("validade_geral").Range("R" & linha).Value
Sheets("Planilha1").Range("D" & linha).Value = Sheets("validade_geral").Range("W" & linha).Value
Sheets("Planilha1").Range("E" & linha).Value = Sheets("validade_geral").Range("AC" & linha).Value



linha = linha + 1
Wend



End Sub
 
Postado : 13/01/2018 12:25 pm
(@klarc28)
Posts: 971
Prominent Member
 
Sub CopiarDados2()

Dim linha As Long

linha = 2

While Sheets("validade_geral").Cells(linha, 1).Value <> ""

If Sheets("Planilha1").Range("A" & linha - 1).Value = Sheets("validade_geral").Range("I" & linha).Value Then
Sheets("Planilha1").Range("A" & linha).Value = ""
Else
Sheets("Planilha1").Range("A" & linha).Value = Sheets("validade_geral").Range("I" & linha).Value
End If
Sheets("Planilha1").Range("B" & linha).Value = Sheets("validade_geral").Range("K" & linha).Value
Sheets("Planilha1").Range("C" & linha).Value = Sheets("validade_geral").Range("R" & linha).Value
Sheets("Planilha1").Range("D" & linha).Value = Sheets("validade_geral").Range("W" & linha).Value
Sheets("Planilha1").Range("E" & linha).Value = Sheets("validade_geral").Range("AC" & linha).Value



linha = linha + 1
Wend



End Sub
 
Postado : 13/01/2018 12:40 pm