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.
#44843
Boa tarde, colegas do fórum.

Baseado no conceito/uso de tabelas (assim como na Macro "InserirLinha" da planilha) gostaria da ajuda de vocês para fazer um macro (botão "Importar Novos Códigos") que:
1) Importasse somente Códigos ainda não importados (portanto, somente novos códigos) da Tabela "Atividade Diárias" para a Tabela "Atendimentos".
Obs: a rotina deve verificar códigos ainda não importados e copiar somente os novos Códigos. Apagar todos os campos ou linhas da tabela "Atendimentos" e importar novamente todos os dados não serviria pois algumas linhas serão acrescentadas manualmente na Tabela "Atendimentos".

2) Verificasse também durante a execução da rotina quais códigos existentes na Tabela Atendimentos não estão dispostos na Tabela "Atividades Diárias" e retornasse uma mensagem do tipo: o Código "XX-XXXXXXX" da linha tal não encontra-se relacionado na Tabela "Atividades Diárias".

3) E ao final da macro uma msg do tipo: Códigos Importados com sucesso ou Não existem novos códigos a serem importados.

Segue planilha anexa para testes.

Muito obrigado a quem puder ajudar.
Você não está autorizado a ver ou baixar esse anexo.
#44870
Olha, eu não entendo tanto de vba, mas consigo me virar com formulas e vba juntos.
Minha sugestão, provavelmente não é a melhor, mas da certo:
Fça um procv na plan ativ diarias que busque cada linha na plan atendimentos, algo tipo assim:

=SEERRO(PROCV(B15;ATENDIMENTOS!B8:B13;1;FALSO);"ver")

Ou seja, se o procv não achar, significa que não foi lançado ainda.

Depois você cria uma macro que filtre para pegar apenas esses valores com "ver" na coluna A da planilha ativ diarias.
e em seguida, na mesma macro, vc manda copiar apenas os valores visiveis.
Seguindo a macro, vc manda ela ir na prox linha disponível na tabela de atendimento e colar apenas valores.
com isso você mata seu problema nº 1
Para o problema 2, eu faria um procv ao contrário, a mesma sacada, o que ele não achar, vc coloca algo tipo "não consta em diárias" ou algo assim.
e o ultimo caso é só colocar no final do cód vba: msgbox "Códigos Importados com sucesso"

Segue exemplo de como colocar o filtro e copiar apenas valores visiveis:

ActiveSheet.Range("$a$14:$an$255").AutoFilter Field:=1, Criteria1:= _
"ver"
'aqui vai add filtro naquele range e filtrar na coluna 1 (field:=1) para celulas com "ver".

Range("B14:an250").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
'aqui ele copiar apenas os valores filtrados, visiveis
Sheets("atendimentos").Select

Range("b7:b" & Range("b1048576").End(xlUp).Row).Select
'seleciona prox linha disponivel, obs: talvez n dê certo para tabelas, ai eu declaro uma variavel e vou somando de um em um verificando se célula é vazia ou não..

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'cola somente valores


é isso, tem muita coisa pra adaptar nesse código pra fazer funcionar, mas ja da uma base pra vc.
fui..
#44881
Boa noite.

Obrigado pela atenção e tentativa de ajudar, werlewow.

Entendi a sua explicação embora não saber como aplicá-la.

Ainda assim para evitar trabalhar com colunas adicionais (já são muitas) vou aguardar e ver se alguém teria uma solução com macro mesmo.

Mais uma vez obrigado.
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