Página 1 de 1
Exportar somente ID novos/não existentes
Enviado: 19 Ago 2021 às 00:29
por SandroLima
Boa noite, pessoal
Preciso da ajuda de vcs para a criação de uma macro.
Na planilha anexa tenho duas abas: PRINCIPAL E DESCRITIVO
Preciso que a Macro compare os ID's da Tabela "TB_Agenda" da Aba Principal com os ID's da Tabela "TB_Descritivo" da Aba Descritivo e exporte somente os Novos ID's ,aqueles que ainda não constam na "TB_Descritivo", para essa Tabela.
Obs.: A Tabela "TB_Descritivo" apresenta ID"s que não constam na Tabela "TB_Agenda" porém preciso que apenas os Novos ID's da Tabela "TB_Agenda" sejam exportados para a Tabela "TB_Descritivo"
Tb preciso de uma Macro que tenha a mesma finalidade porém fazendo agora a importação dos Novos ID's.
Inseri os botões para a inclusão das macros em cada uma das Abas.
Segue planilha anexa para verificação e testes.
Desde já agradeço a quem puder colaborar.
Re: Exportar somente ID novos/não existentes
Enviado: 30 Ago 2021 às 18:37
por Jonathaluis
Boa tarde!
Segue planilha
Re: Exportar somente ID novos/não existentes
Enviado: 31 Ago 2021 às 17:32
por SandroLima
Boa tarde, Jonathaluis.
Poxa!!!
Não sei nem o que comentar sobre o código. Ficou demais e bastante enxuto.
Conseguiu colocar tanto a importação como exportação na mesma Macro. Top demais!!!
Me atendeu em uma grande necessidade... muito obrigado mesmo
Mas vou ter que estudá-lo... tem muita coisa nova nele para mim.
Aproveitando o gancho do tópico... Poderia me ajudar em mais uma necessidade dentro do código???
Enviei novamente a planilha em anexo com uma Coluna que nomeei de [Status]. Onde e como devo alterar a Macro para que ela importe/exporte somente os Novos Códigos, EXCETO aqueles em que a Coluna [Status] recebe o valor "Falta" ou "Reagendamento"?
E mais uma vez obrigado pela grande ajuda.
Re: Exportar somente ID novos/não existentes
Enviado: 01 Set 2021 às 12:04
por Jonathaluis
Desculpa a demora, tive que mudar a estrutura de for, antes eu usava for each, que olhava cada ID, com a necessidade de olhar o status mudei para for usando um index de identificação da linha, assim eu saberia qual o status correspondente, coloquei um if a mais e antes dos for eu tive que mudar para identificar qual a coluna de status.
Re: Exportar somente ID novos/não existentes
Enviado: 02 Set 2021 às 18:09
por SandroLima
Boa tarde, JonathaLuis.
Muito obrigado novamente.... ficou quase exato ao que necessito.
Mas reparei que quando adiciono outro valor para as células da Coluna [Status] diferente de "Falta" ou "Reagendamento" ele não importa/exporta o novo ID.
Para teste adicionei "OK" na coluna Status do ID que tem a coluna [Num] identificada pelo número "8" e ele não importou/exportou esse ID.
Gostaria que ele importasse SOMENTE os ID's Novos com Status diferente de "Falta" ou "Reagendamento".
É possível fazer assim?
Re: Exportar somente ID novos/não existentes
Enviado: 02 Set 2021 às 18:55
por Jonathaluis
Desculpa a falha, segue nova planilha, eu tinha colocado um if se fosse diferente de vazio, agora ajustei se for igual a Falta ou reagendamento não será copiado para a nova planilha.
Referente ao seu comentário de colocar em uma única função exportar e importar, é só uma questão de visão, o que eu entendi foi "Copiar os novos de uma planilha para a outra" então não importa muito qual botão irá chamar. boa noite!
Re: Exportar somente ID novos/não existentes
Enviado: 05 Set 2021 às 17:57
por SandroLima
Boa tarde, Jonathaluis.
Ficou excelente!!!
Muito obrigado pela grande ajuda. Estava atrás de uma solução assim faz algum tempo.
Tenho uma última demanda se puder me ajudar.
Algumas células da Coluna ID tem valor = "" (vazio) pois o número do ID é retornado por uma fórmula do tipo =SEERRO(SE(Condição;Verdadeiro;Falso);"").
E isso provoca erro na execução da Macro quando ela encontra uma célula com valor = "".
Como eu poderia fazer o tratamento de Erro na Macro... ignorando as linhas com ID = "" ?
Re: Exportar somente ID novos/não existentes
Enviado: 05 Set 2021 às 18:01
por Jonathaluis
Se você quer editar, basta que no for de comparação entre os ids novos e o existentes coloque um if para só fazer caso o id seja diferente de vazio.
Re: Exportar somente ID novos/não existentes
Enviado: 05 Set 2021 às 18:09
por SandroLima
Acho que consegui...
If (priID(i, 1) = ID2) Or (priID(i, 1) = "")
Código: Selecionar todosFor i = 1 To UBound(priID)
achou = False
For Each ID2 In descID
If (priID(i, 1) = ID2) Or (priID(i, 1) = "") Then
achou = True
Exit For
End If
Next
If (UCase(statusID(i, 1)) = "FALTA" Or UCase(statusID(i, 1)) = "REAGENDAMENTO") Then
achou = True
End If
If achou = False Then
ReDim Preserve res(tamanho + 1)
res(tamanho) = priID(i, 1)
tamanho = tamanho + 1
End If
Next
É só nessa parte que precisa fazer a alteração, certo?
Re: Exportar somente ID novos/não existentes
Enviado: 05 Set 2021 às 18:21
por Jonathaluis
Isso mesmo.
Re: Exportar somente ID novos/não existentes
Enviado: 05 Set 2021 às 18:25
por Jonathaluis
eu faria com uns parênteses a menos
If (priID(i, 1) = ID2 Or priID(i, 1) = "")