Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#66417
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.
Você não está autorizado a ver ou baixar esse anexo.
#66690
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.
Você não está autorizado a ver ou baixar esse anexo.
#66708
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.
Você não está autorizado a ver ou baixar esse anexo.
SandroLima agradeceu por isso
#66742
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?
Você não está autorizado a ver ou baixar esse anexo.
#66746
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!
Você não está autorizado a ver ou baixar esse anexo.
SandroLima agradeceu por isso
#66781
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 = "" ?
#66783
Acho que consegui...

If (priID(i, 1) = ID2) Or (priID(i, 1) = "")
Código: Selecionar todos
For 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?
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord