Ir ao conteúdo
  • Cadastre-se

Excel Macro verifica e cola somente valores


Posts recomendados

Bom dia!

Preciso de uma macro que copie os valores da GUIA CONTROLE de "B4:H48", verifique na GUIA BD se esses dados já estão inseridos e "se não" cole somente valores.

Observação: será um "banco de dados" com atualização diária, com isso, preciso que acumule os dias a medida que for atualizando as informações.

A condição de verificar se os dados já foram inseridos é essencial pois os dados não podem duplicar no BD caso eu click 2 ou mais vezes no momento de gravar os dados.

Segue anexo para facilitar o entendimento do problema.

 

Grato!

Rocha

Macro conferir valores e colar.zip

Link para o comentário
Compartilhar em outros sites

2 horas atrás, engrocha disse:

Preciso de uma macro que copie os valores da GUIA CONTROLE de "B4:H48", verifique na GUIA BD se esses dados já estão inseridos e "se não" cole somente valores.

A planilha BD está vazia, então não há dados para serem comparados :confused:

Qual o critério para comparar, célula por célula, linha por linha, todo o intervalo B4:H48 de uma vez ?

"o que defini a verificação se já consta ou não no BD é a coluna B" ~~~> o identificador de um registro deve ser um valor único (ID), e na coluna B da sua planilha os valores se repetem :confused:

 

A condição de verificar se os dados já foram inseridos é essencial pois os dados não podem duplicar no BD caso eu click 2 ou mais vezes no momento de gravar os dados.

Segue uma ideia para facilitar as coisas: no caso de se utilizar uma planilha para a entrada dos dados e outra para armazenar, é usual após replicar os dados na segunda limpar a primeira, dessa forma não ocorre a possibilidade de duplicar registros. Ainda, após o registro ser armazenado, existe alguma razão para mantê-lo na planilha de entrada ?

 

Link para o comentário
Compartilhar em outros sites

Boa tarde Osvaldo!

Segue respostas e obrigado pelo retorno mesmo eu não sendo específico.

 

1) quero comparar todo intervalo B4:H48 - se ele já estiver no BD não colar valores novamente;

2) eu não queria limpar a entrada de dados pois para preenchimento no próximo dia fica mais fácil já ter os campos pré digitados uma vez que será parecida a produção.

3) fiz o preenchimento da guia BD como se eu tivesse atualizado os dias 01, 02 e 03.
Se eu tentar enviar o dia 3 novamente não executar nada. Amanhã dia 04, como não vai ter nenhum dado na guia BD coluna B com a inicial 4 irá executar o copiar e colar.

 

Não desista de tentar entender, rsrsr... Por favor, qualquer dúvida vamos continuar a comunicação.

 

Grato!

Rocha

Macro conferir valores e colar.zip

Link para o comentário
Compartilhar em outros sites

Vi que você colocou esta questão em outro fórum e já obteve lá uma solução. Segue uma alternativa.

 

Para efeitos de verificar se o bloco de dados já foi replicado eu optei por colocar a data da operação na coluna A da planilha BD, e essa data será obtida pelo código em D1 da planilha CONTROLE.  Isso talvez até lhe ajude a identificar a qual data está vinculado cada bloco de dados, pois sem essa data  cada bloco fica vinculado só ao dia, e o dia se repete a cada mês.

 

Então, para testar limpe a planilha BD, deixe somente o cabeçalho em B2:H2, aí coloque 1/7 em D1 da planilha CONTROLE e rode o código. Em seguida coloque 2/7 em D1 e rode o código, ... , por último recoloque a fórmula =HOJE() em D1.

 

Ao final do código coloquei um comando para limpar G:H da planilha após replicar os dados. Se você quiser testar basta remover o apóstrofo no início daquela linha de comando.

 

Sub ReplicaDados()
 If Application.CountIf(Sheets("BD").[A:A], [D1]) = 1 Then Exit Sub
 Sheets("BD").Cells(Rows.Count, 2).End(3)(2, 0) = [D1]
 Sheets("BD").Cells(Rows.Count, 2).End(3)(2).Resize(45, 7).Value = [B4:H48].Value
 '[G4:H48] = ""
End Sub

 

Link para o comentário
Compartilhar em outros sites

@osvaldomp Muito obrigado!
O seu código está funcionando perfeitamente e é mais simples que o que consegui em outro fórum conforme sua observação.

Aproveitando, teria como inserir "Mensagens" no código!

 

Após transferir, aparecer "Dados Transferidos com Sucesso!".

 

Desde já, agradeço pela disponibilidade e rapidez na solução do problema.

Rocha

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...