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.
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
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.
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
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
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