Ir ao conteúdo
  • Cadastre-se

Excel macro para replicar registro em outra planilha


Posts recomendados

Não é isso.

o que vou usar é este que te passei.

Depois que te passei peguei o meu e fiquei tentando fazer ele funcionar, foi isso.

Foi hoje na parte da tarde que consegui fazer parte dele funcionar aqui.

o que não funciona ainda é só os custos que não replicam mais depois que apaguei o código que estava lá.

Talvez se você devolver o que te passei com os códigos instalados fique mais fácil.

 

 

Não é isso.

o que vou usar é este que te passei.

Depois que te passei peguei o meu e fiquei tentando fazer ele funcionar, foi isso.

Foi hoje na parte da tarde que consegui fazer parte dele funcionar aqui.

o que não funciona ainda é só os custos que não replicam mais depois que apaguei o código que estava lá.

Talvez se você devolver o que te passei com os códigos instalados fique mais fácil.

Link para o comentário
Compartilhar em outros sites

Boa noite Osvaldo, não é isso, eu disponibilizei a que uso, os testes que fiu fazendo foi durante a tarde de hoje para aprender a mexer.

agora esta quase correto, vou colocar o arquivo aqui com os códigos instalados e vou relatar onde ainda não esta funcionando.

eu inseri dados na planilha Banco do dia 09. e depois digitei a palavra alim.

deu certo e ela foi replicada para a plalnilha Iatú - alim.

agora é que vem  o problema que não esta dando certo.

depois de tudo isto feito, eu fui na planilha Itaú - Alim e digitei como exemplo, buriti jun, então a linha deve replicar no relatório de custo buriti de junho.

quando digito aparece erro e pede para depurar mesmo assim ela é replicada, porém apenas até a coluna valor, dai para frente não esta replicando nas colunas E,F,G, H.

Note que fiz 4 lançamentos mas escrevi alim apenas em 3, para você poder escrever no outro e ver o erro que dá.

 

Movimento financeiro - 2016.xlsm

Link para o comentário
Compartilhar em outros sites

Esse problema é provocado pelo código existente no módulo da planilha 'Itaú - Alimenta' que está acionando o código que te passei.

Para corrigir substitua o código que está na referida planilha por este abaixo.

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim LR As Long
  If Target.Count > 1 Then Exit Sub
  If Target.Column > 11 Or Application.CountA(Cells(Target.Row, 1).Resize(, 4), _
   Cells(Target.Row, 7), Cells(Target.Row, 10), Cells(Target.Row, 11)) < 7 Then Exit Sub
    Application.EnableEvents = False
    With Sheets(Cells(Target.Row, 7).Value)
     LR = .Cells(Rows.Count, 1).End(xlUp).Row
     .Cells(LR + 1, 1).Resize(, 4).Value = Cells(Target.Row, 1).Resize(, 4).Value
     .Cells(LR + 1, 5).Resize(, 4).Value = Cells(Target.Row, 8).Resize(, 4).Value
    End With
    Application.EnableEvents = True
End Sub

 

Link para o comentário
Compartilhar em outros sites

 

... porém quando digito a palavra alim na coluna J do banco não replica mais.

 

 

É que esse código é executado ao completar o preenchimento do registro e não pela inserção de "alim" em 'J'. Provavelmente ele foi escrito para uma planilha com estrutura diferente.

Este abaixo é executado ao inserir "alim" na coluna 'J'.

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim LR As Long
  If Target.Count > 1 Then Exit Sub
  If Target.Column = 10 And Target.Value = "alim" Then
    Application.EnableEvents = False
    With Sheets(Cells(Target.Row, 7).Value)
     LR = .Cells(Rows.Count, 1).End(xlUp).Row
     .Cells(LR + 1, 1).Resize(, 4).Value = Cells(Target.Row, 1).Resize(, 4).Value
     .Cells(LR + 1, 5).Resize(, 4).Value = Cells(Target.Row, 8).Resize(, 4).Value
    End With
    Application.EnableEvents = True
  End If
End Sub

 

Link para o comentário
Compartilhar em outros sites

Para acessar o módulo da planilha e instalar o código clique com o direito sobre a guia da planilha 'Itaú - Alimenta' e escolha 'Exibir código' aí apague o código que lá está na janela que vai se abrir cole o outro.

Lembrando, usar este que passei por último é opcional, pois você pode continuar com o atual que replicará ao preencher o registro, já este último replicará ao inserir "alim" em 'J'.

Link para o comentário
Compartilhar em outros sites

Desculpe Osvaldo, mas não consigo mesmo.

Eu instalei pela guia desenvolvedor e não deu certo.

depois instalei pela guia da planilha Itaú Alimenta em exibir código  e também não deu.

instalei também ao invés de Itaú Alimenta por esta pasta de trabalho e também não deu.

ou seja tentei de todas as formas.

todos os códigos funcionam, menos o para replicar para Itaú alimenta quando digito alim na coluna J do Banco.

Já estou com vergonha de te alugar tanto.

 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde Osvaldo, acho que agora eu entendi porque não funciona para mim.

o problema esta na ordem que eu faço o serviço.

Vou ver se consigo explicar, acredito que desta vez vai dar certo.

a ordem do trabalho é a seguinte:

1° - entro no sub menu contas a pagar / 2016.

Nesta planilha eu agendo tudo que vai vencer, assim que agendo e coloco o vencimento ele ordena em ordem de data.

depois nesta mesma planilha eu escrevo dia x e esta linha vai para o banco do respectivo dia de pagamento, este código você que fez para mim e esta perfeito.

2° entro no dia que vou fazer os pagamentos exemplo, dia 10 no calendario que existe no menu então na coluna J do Banco eu  devo digitar alim e esta linha vai para a planilha Itaú Alimenta.

3° e último passo entro na planilha Itaú Alimenta e escrevo na coluna filial saída Buriti mai ou jun ou outra filial qualquer e estes pagamentos vão cada um para o seu devido custo ou filial.

Minha planilha funciona o passo 1

e o passo 3 apenas o passo 2 que não esta funcionando.

por isso disse acredito que  se o código que você criar for para eu instalar nas 31  planilhas do Banco ele funcionará e não interferirá nos outros que estão todos funcionando perfeitamente.

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Digitando colo falou replica, mas fica fora da ordem como expliquei no post anterior.

quando a linha já encontra-se na planilha Itaú Alim, não tenho mais a necessidade de digitar Alim, pois a linha já esta lá entende?

Alim, deve ser digitado na coluna J do banco dia a dia.

 

Link para o comentário
Compartilhar em outros sites

 

Digitando colo falou replica.......

Colei essa sua expressão no Google Tradutor e ele me retornou Digitando réplica colo falou...:confused:

 

 

Faz o seguinte: disponibilize um arquivo que tenha somente as planilhas envolvidas no passo 2. Que me parece é a plan "Itaú - Alimenta" e a planilha do Banco, se houver várias planilhas de banco coloque somente 2 ou 3.

Não oculte os identificadores das linhas e das colunas e não proteja as planilhas.

Coloque uns 3 ou 4 exemplos e seus respectivos resultados.

Descreva em alguma das planilhas o passo-a-passo das operações que você faz e o que você quer que o código faça e em que momento.

Link para o comentário
Compartilhar em outros sites

Osmar, segue de volta o arquivo do post #39. Coloquei um código no módulo da planilha "Itaú - Alimenta" e outro código no módulo de "EstaPasta_de_trabalho".

Faça os testes.

1. para replicar da plan "Itaú" para as demais coloque o nome da planilha destino na coluna 'G'. Ex. dia 2

2. para replicar das demais planilhas para a "Itaú" coloque alim na coluna 'J'

 

obs. por acaso, no referido arquivo, o nome da planilha está assim "Itaú - Alimenta+espaço". Eu sei que você já corrigiu isso no seu arquivo original, :thumbsup: então provavelmente na subida do arquivo para o fórum um espaço pegou carona no nome da planilha...;)

No arquivo que anexei eu removi o espaço, mas se você tiver um grande apego por ele :tw_heart:e quiser colocá-lo de volta então acrescente o espaço também no nome da planilha que está no código...:tw_glasses:

Movimento financeiro V3 - 2016.xlsm

Link para o comentário
Compartilhar em outros sites

39 minutos atrás, osvaldomp disse:

Osmar, segue de volta o arquivo do post #39. Coloquei um código no módulo da planilha "Itaú - Alimenta" e outro código no módulo de "EstaPasta_de_trabalho".

Faça os testes.

1. para replicar da plan "Itaú" para as demais coloque o nome da planilha destino na coluna 'G'. Ex. dia 2

2. para replicar das demais planilhas para a "Itaú" coloque alim na coluna 'J'

 

obs. por acaso, no referido arquivo, o nome da planilha está assim "Itaú - Alimenta+espaço". Eu sei que você já corrigiu isso no seu arquivo original, :thumbsup: então provavelmente na subida do arquivo para o fórum um espaço pegou carona no nome da planilha...;)

No arquivo que anexei eu removi o espaço, mas se você tiver um grande apego por ele :tw_heart:e quiser colocá-lo de volta então acrescente o espaço também no nome da planilha que está no código...:tw_glasses:

Movimento financeiro V3 - 2016.xlsm

Osvaldo boa Noite, instalei o código mais não funcionou

estou postando a planilha com o código instalado, assim você pode verificar se fiz algo errado.

estou 

Em 08/05/2016 às 20:37, osvaldomp disse:

 

 

 

Faça exatamente como foi recomendado que funciona. :thumbsup:

 

Ainda, remova códigos existentes nos módulos das planilhas.

Mas eu estou fazendo, não consigo encontrar onde errei, já instalei o código em esta pasta de trabalho a partir da dia 2 e na palnilha Itáú alimenta  deixei assim itaualimenta sem espaço. quando digita na coluna J alim ele não replica, mas também não dá nem um erro.

 

Boa noite Osvaldo, 

segue o arquivo de volta agora com mais uma planilha a de custo, que estava funcionando com o código original da planilha Alimenta Itaú.

a conclusão é a seguinte:
o código funcionou para a planilha do Banco e para a planilha do Itaú Alimenta.

Mas quando a linha esta na planilha Itaú Alimenta ao digitar outlet jun ou outra filial e mês qualquer ela insere os dados nas colunas erradas.

no anexo esta a explicação.

o mais tudo funcionou perfeito.

 

Movimento financeiro V3 - 2016.xlsm

na explicação da planilha outlet jun, coloquei um exemplo errado, considere, assim, por favor.

a data deve ficar na coluna A

Impakto sistemas deve ficar na coluna B

Material de limpeza deve ficar na coluna C

853,35  deve ficar na coluna  D

e o código não trouxe os resultados das colunas E, G e H.

Link para o comentário
Compartilhar em outros sites

O seu arquivo tem trocentas planilhas, por isso é inviável escrever um código para cada uma delas se elas tiverem estruturas diferentes. Todas as planilhas destino precisam ter estruturas idênticas.

Link para o comentário
Compartilhar em outros sites

então, não sei,aliás não entendo de como fazer estes códigos, mas acredito que se o código fosse apenas para as planilhas do Banco, não alterariam as existentes que já funcionam com perfeição.

é uma pena, chegamos muito perto, agora seria apenas ajustar as colunas do custo e tudo funcionaria de forma perfeita.

Entendo também que você se esforçou muito para me ajudar, poucas pessoas teriam a paciência que você teve.

Independente de ficar tudo funcionando vou agradecer sempre, pois você me ajudou e muito, fiquei tão fascinado com a ideia de poder fazer tantas coisas através do VBA que se eu conseguir um tempo livre provavelmente vou até tentar um curso para tentar aprender pelo menos um pouco deste mundo tão cheio de opções.

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!