Página 1 de 1
Replicar Dados Para Mais de Uma Planilha
Enviado: 14 Abr 2021 às 14:54
por CAMILOALVES
Boa Tarde!
Solicito ajuda para solucionar/implementar a rotina abaixo:
FUNCIONAMENTO ATUAL: Todas as vezes que for incluído um a variável na planilha "Cadastro de Produtos"
através do botão "Inserir ", os dados da célula C5 migram para coluna B da planilha "BDCadastro de Produtos";
SOLICITAÇÃO: que os mesmos dados da célula C5, também migrem para a planilha "BDCadastro de Produtos01" também para coluna B, seguindo a mesma lógica da planilha "BDCadastro de Produtos", ou seja, seria como uma réplica de dados.
OBS: Segue Planilha com Detalhes Para Analise.
Atenciosamente
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 14 Abr 2021 às 18:08
por CursoDeExcelGratis
Estimado, eu fiz o seguinte
copiei a sub que está sendo chamada pelo seu botão lsIncluirDESCRIÇÃO_PEÇA e renomiei para incluirpeca2 conforme abaixo ( tirei a parte de limpar )
Private Sub incluirpeca2()
Dim lUltimaLinhaAtiva As Long
Set Reg = Sheets("BDCadastro de Produtos01")
Set Ins = Sheets("Cadastro de Produtos")
If Ins.Range("C5").Value = "" Then MsgBox "Descrição da peça em branco": Exit Sub
lUltimaLinhaAtiva = Reg.Cells(Reg.Rows.Count, 2).End(xlUp).Row + 1
If Application.WorksheetFunction.CountIf(Reg.Range("B7:B" & lUltimaLinhaAtiva), Ins.Cells(6, 1).Value) > 0 Then
MsgBox "Esta Classe já existe , Digite Outra": lsLimpaMovimento: Ins.Cells(6, 1).Select: Exit Sub
Else
'descrição da peça
Reg.Cells(lUltimaLinhaAtiva, 2).Value = Ins.Range("C5").Value
End If
End Sub
ahi na sub da macro, antes de limpar, chamei a incluirpeca2
Public Sub lsIncluirDESCRIÇÃO_PEÇA()
Dim lUltimaLinhaAtiva As Long
Set Reg = Sheets("BDCadastro de Produtos")
Set Ins = Sheets("Cadastro de Produtos")
If Ins.Range("C5").Value = "" Then MsgBox "Descrição da peça em branco": Exit Sub
lUltimaLinhaAtiva = Reg.Cells(Reg.Rows.Count, 2).End(xlUp).Row + 1
If Application.WorksheetFunction.CountIf(Reg.Range("B7:B" & lUltimaLinhaAtiva), Ins.Cells(6, 1).Value) > 0 Then
MsgBox "Esta Classe já existe , Digite Outra": lsLimpaMovimento: Ins.Cells(6, 1).Select: Exit Sub
Else
'descrição da peça
Reg.Cells(lUltimaLinhaAtiva, 2).Value = Ins.Range("C5").Value
End If
'' aqui chamar a funcao recem criada
Call incluirpeca2
'Limpa o movimento
lsLimpaMovimento01
End Sub
Espero que resolva no meu teste ele copia
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 15 Abr 2021 às 10:28
por CAMILOALVES
Bom Dia CursoDeExcelGratis - 14 Abr 2021 às 19:08
Primeiramente Obrigado Por Dispor de Seu Tempo Para Ajudar-me.
Implementei Seu Código na Planilha.
Então....A replicação dos dados entre as planilhas “BDCadastro de Produtos” e “BDCadastro de Produtos01” funcionou perfeitamente.
Mas.... Está ocorrendo um pequeno Bug, é o seguinte: quando digito dados na célula C5, e clico no botão “Inserir Descr.”, é exibida a mensagem: “código duplicado”, aí quando clico em OK da caixa de mensagem, a variável é incluída normalmente.
Se possível, peço que avalie, aguardo retorno.
Atenciosamente
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 15 Abr 2021 às 12:09
por CAMILOALVES
Bom Dia CursoDeExcelGratis - 14 Abr 2021 às 19:08
Primeiramente Obrigado Por Dispor de Seu Tempo Para Ajudar-me.
Esqueci de anexa a planilha na 1ª mensagem.
Implementei Seu Código na Planilha.
Então....A replicação dos dados entre as planilhas “BDCadastro de Produtos” e “BDCadastro de Produtos01” funcionou perfeitamente.
Mas.... Está ocorrendo um pequeno Bug, é o seguinte: quando digito dados na célula C5, e clico no botão “Inserir Descr.”, é exibida a mensagem: “código duplicado”, porém quando clico no OK da caixa de mensagem, o código é incluído normalmente.
Se possível, peço que avalie, aguardo retorno.
Atenciosamente
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 15 Abr 2021 às 15:42
por CursoDeExcelGratis
Por nada e fico feliz que tenha resolvido.
Realmente, eu tinha notado esse bug na sua planilha já, vou dar uma olhadinha e te retorno em seguida
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 15 Abr 2021 às 15:56
por CursoDeExcelGratis
essa mensagem de código duplicado somente está no evento change da sua planilha
Private Sub Worksheet_Change(ByVal Target As Range)
este evento verifica que que cada um dos campos digitados na coluna C não se repitam na planilha BDCadastro de produtos, mas talvez não esteja correto essa trava, pois tem algumas informações que deveriam ser possiveis cadastrar em duplicidade, com por exemplo a unidade medida.
veja neste trecho
Select Case Target.Address
Case "$C$4"
Ncol = 1
Case "$C$5"
Ncol = 2
Case "$C$7"
Ncol = 3
Case "$C$8"
Ncol = 4
Case "$C$10"
Ncol = 5
para cada celula alterada é verificada uma coluna diferente , sugiro vc comentar as que podem ser duplicadas
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 19 Abr 2021 às 09:23
por CAMILOALVES
Bom dia! Prezado CursoDeExcelGratis - 15 Abr 2021 às 16:56
Primeiramente Obrigado por dispor de seu tempo e dedicação para ajudar-me.
Então.., A planilha original está projetada para funcionar de forma que os dados digitados nas células “C4”, “C5”, “C7”, “C8” e “C10” na planilha “Cadastro de Produtos” devem ser checados em relação a possíveis duplicidades contra a planilha “BDCadastro de Produtos”. Essas situações devem ser mantidas.
Surgiu porém a necessidade de criar-se uma planilha alternativa no caso “BDCadastro de Produtos01” com a finalidade de armazenar simultaneamente a variável digitada na célula “C5” da planilha “Cadastro de Produtos”. A macro desenvolvida por Você atingiu esse objetivo, ou seja, os da dados digitados em C5 (“Cadastro de Produtos”) migram de forma simultânea para as planilhas “BDCadastro de Produtos” e “BDCadastro de Produtos01”.
Porém..Está com aquele Bug já explanado anteriormente.
Se possível, peço que analise o bug e dê um feedback.
OBS: Para facilitar o envio da planilha anexo, resolvi deixar somente os botões “Inserir Classe” e “Inserir Descr.”, os demais incluo depois.
Atenciosamente.
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 19 Abr 2021 às 10:53
por osvaldomp
CAMILOALVES escreveu: ↑14 Abr 2021 às 14:54
SOLICITAÇÃO: que os mesmos dados da célula C5, também migrem para a planilha "BDCadastro de Produtos01" também para coluna B, seguindo a mesma lógica da planilha "BDCadastro de Produtos", ou seja, seria como uma réplica de
Na
Sub lsIncluirDESCRIÇÃO_PEÇA acrescente a linha em vermelho, conforme abaixo.
Else
'descrição da peça
Reg.Cells(lUltimaLinhaAtiva, 2).Value = Ins.Range("C5").Value
Sheets("BDCadastro de Produtos01").Cells(Rows.Count, 2).End(3)(2) = [C5]
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 20 Abr 2021 às 08:48
por CAMILOALVES
Bom dia! Prezado osvaldomp - 19 Abr 2021 às 11:53
Primeiramente Obrigado por dispor de seu tempo e dedicação para ajudar-me.
Bingo! Funcionou, Muito Obrigado.
Atenciosamente
Re: Replicar Dados Para Mais de Uma Planilha
Enviado: 20 Abr 2021 às 08:58
por osvaldomp
Bom dia, prezado CAMILOALVES - 20 Abr 2021 às 09:48
Que bom que resolveu.
Grato por nos informar.