Bom dia, tudo bem?!
Segue em anexo a planilha para entender o que necessito...
O QUE PRECISO FAZER A PARTIR DA PLANILHA "PERFIS_Estoque":
1º) Preciso listar o nome de todos os fornecedores, SEM REPETIÇÃO, da tabela referente à entrada, dentro do período indicado na planilha "TABELAS" (células P1 e P2).
2º) Listar cada fornecedor na planilha "TABELAS" a partir da célula "P11" ('NOME').
3º) Após a listagem de cada fornecedor na coluna "P" da planilha "TABELAS", copiar e colar os dados da planilha "TABELAS" entre as colunas "N" e "Z" na altura da última linha da coluna "P" (NOME) preenchida, para a próxima linha vazia da planilha "EFD".
...:: RELAÇÃO DAS IMAGENS EM ANEXO::...
PERFIS_Estoque --> Esta imagem mostra a planilha "PERFIS_Estoque" na parte de ENTRADA, ela recebe todas entradas de materiais que chegam na empresa. Onde sempre é indicado a data de entrada e o fornecedor que entregou determinado material.
TABELAS (vazia) --> Esta imagem visa indicar o período de apuração dos dados e mostrar a coluna "P" que referencia o campo NOME, sem preenchimento.
TABELAS (com NOME) --> Esta imagem visa mostrar como ficará a tabela depois que os nomes de cada fornecedor, referente ao período de apuração, estiverem colocados na coluna "P" que referencia o campo NOME e indica as células que devem ser selecionadas e enviadas para a planilha EFD.
EFD --> Esta imagem indica a partir da onde as células selecionadas na planilha "TABELAS", deveram ser copiadas na planilha "EFD".
NO VBA:
Comecei a tentar fazer mas empaquei bem no começo... Segue abaixo a parte da programação que comecei...
OBSERVAÇÃO: Para encontrar esta programação:
...acessar o VBA do arquivo em anexo --> clicar em formulários --> abrir o "frm_EFD" --> clicar 2x no botão "GERAR BLOCO 0" --> localizar o seguinte comentário: ('REGISTRO 0150: TABELA DE CADASTRO DO PARTICIPANTE (pg. 22))
'REGISTRO 0150: TABELA DE CADASTRO DO PARTICIPANTE (pg. 22)
Dim datai As Date 'Data inicial informada no formulário
Dim dataf As Date 'Data final informada no formulário
Dim Tipo As String
datai = Plan23.Range("P1")
dataf = Plan23.Range("P2")
If op_land = True Then
Tipo = "LAND"
ElseIf op_metalmar = True Then
Tipo = "METALMAR"
ElseIf op_terceiros = True Then
Tipo = "TERCEIROS"
Else
Tipo = "*"
End If
'Cells(linha,coluna)
With Sheets("PERFIS_Estoque") 'Comando sheets refere a qual planílha do arquivo iremos trabalhar
For x = 8 To Cells(Cells.Rows.Count, "A").End(xlUp).Row 'Cells(Cells.Rows.Count, "A") --> Define a última linha preenchida na coluna A
If .Cells(x, "I") >= datai And .Cells(x, "I") <= dataf And .Cells(x, "F") Like Tipo Then 'Operador LIKE compara duas strings
End If
Next
End With
Postado : 06/10/2015 5:06 am