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
Por caromacedo
Posts
#48744
Bom dia pessoal,

O meu programa em VBA do Excel simplesmente parou de funcionar. Ele estava funcionando certinho e agora, do nada, não funciona mais. Conforme altero dados na minha planilha, o que tinha que acontecer não acontece mais, sendo que até então funcionava perfeitamente.

Alguém sabe o que pode ser?

Obrigada
Por babdallas
#48748
Anexe a pasta de trabalho com dados fictícios para que possa avaliar o que pode ter acontecido? Vá em +Resposta e procure Adicionar um Anexo.
Seu Excel mudou de versão?
Avatar do usuário
Por Jimmy
Avatar
#48750
Olá,

Poderia informar o que deve ser feito na planilha para acionar a macro, e o que a macro deveria estar fazendo, e que não está?

Fiz o teste e está funcionando bem. A informação percorreu as 3 planilhas.

Jimmy San Juan
Por caromacedo
Posts
#48752
Ela transfere uma linha inteira para outra planilha a partir de uma palavra que altero em determinada coluna desta linha. Isto deve acontece em todas as planilhas.
Por caromacedo
Posts
#48753
Agora voltou a funcionar!

Que estranho, ela estava funcionando super bem, aí parou, agora voltou novamente! Hehehe

Obrigada pela ajuda pessoal!
Por babdallas
#48754
Testei aqui também e funcionou.
Avatar do usuário
Por Jimmy
Avatar
#48759
Se me permite, vou propor uma alteração na macro, pois há muitas redundâncias, e as 3 macros podem passar a ser uma só. Com isso, haverá melhora na performance, e facilidade na manutenção, caso seja necessário.

Teste e me diga.
Ainda há o que melhorar, mas como não sei se concordará em mudar, a versão que apresento dá pra começar os testes.

Jimmy San Juan
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Jimmy
Avatar
#48762
Gostaria de fazer uma observação.

A informação só vai pra frente, seguindo o fluxo Andamento --> Prefeitura&Registro --> Entregas&Cobranças --> Finalizada. É até possível pular alguma etapa, mas é sempre pra frente.

Com as mudanças que fiz, fica bem fácil implementar o fluxo reverso. Digamos que o operador escolha errado: ao invés de clicar sobre Entregas&Cobranças , clicou em Finalizado. Como faz pra reverter isso de forma segura?

Caso tenha interesse, podemos implementar isso.

Porém, se o retorno não for permitido propositalmente, me avise que preciso alterar algo para bloquear o retorno de Entregas&Cobranças para Prefeitura&Registro.

Jimmy San Juan
Por caromacedo
Posts
#48770
Eu fiz mais algumas alterações daquele Macro que te mandei, no caso, coloquei para o caminho inverso também acontecer, tipo, ir de 'orçamentos' para 'andamento'.

A verdade é que eu não manjo nada de VBA, vi em uma disciplina na faculdade há muito tempo atrás, então quanto mais complexo o código, mais difícil pra eu entender :lol: Este macro que estou usando agora, me ajudaram aqui no fórum a desenvolver e depois só fui adicionando nele o que mais eu precisava que acontecesse.

Vou dar uma olhada neste que me enviaste agora. Com certeza quanto menos poluído e funcional, melhor :)

Obrigada pela atenção!
Avatar do usuário
Por Jimmy
Avatar
#48772
Ok, te mando também o meu, já com a possibilidade de retorno. Dá uma olhada e se tiver qualquer dúvida, avise.

Notei que a cada alteração numa célula qualquer da planilha, TODAS as linhas daquela planilha são analisadas.

Eu acho isso desnecessário, uma vez que somente a linha na qual houve alteração é que precisa ser analisada. Há alguma razão para analisar todas as linhas?

Jimmy San Juan
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por Jimmy em 01 Out 2019 às 15:07, em um total de 1 vez.
Por caromacedo
Posts
#48780
Não existe necessidade de todas linhas serem analisadas, apenas a linha na qual eu faço a alteração.

Vou ver se entendo como ficou agora. Fico muito agradecida pela ajuda!

Obrigada :D
Avatar do usuário
Por Jimmy
Avatar
#48782
Ok, tente entender. Se tiver dúvida, me avise. O mais importante do fórum não é resolver o problema, mas ensinar.

Enquanto isso vou alterar a macro pra processar só a linha em questão.

Jimmy San Juan
Avatar do usuário
Por Jimmy
Avatar
#48787
Segue a planilha alterada, agora só processando as linhas alteradas. Inclui comentários nas linhas pra ficar mais fácil entender o que está sendo feito.

Na primeira linha das planilhas há um título, e que está em células mescladas. Quer um conselho? Só mescle células de for caso de vida ou morte, porque elas atrapalham muito as macros, e até a operação. Por exemplo, se tiver células mescladas entre A1 e H1, e quiser copiar toda a coluna F, por exemplo, não consegue.

Se seu objetivo é apenas de centralizar o texto num conjunto de colunas há outra forma.
Por exemplo, centralizar o texto RESUMO entre A1e H1. O início do processo é igual ao de mesclagem.
- Digite RESUMO em A1
- Selecione a faixa A1:H1
- Entre na janela de formatação de células (CTRL-1).
agora que começa a diferença
- Na aba alinhamento não selecione MESCLAR. Ao invés disso abra a lista de alinhamentos horizontais, e escolha CENTRALIZAR NA SELEÇÃO.
O efeito de centralização é o mesmo, mas sem os inconvenientes da mesclagem.

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan
Você não está autorizado a ver ou baixar esse anexo.
Por caromacedo
Posts
#48788
Obrigada Jimmy, vou estudar o código que você me enviou agora.

Quanto à mesclar as células, obrigada pela dica! Não sabia desta outra opção! Eu nunca uso macro nas minhas planilhas, mas nessa surgiu a necessidade porque acabou ficando um controle de processos grande dentro do escritório e acabava sendo um serviço manual que acarretava em outras desconfigurações, pelo fato de várias pessoas manusearem a planilha. Já estava tentando migrar para as planilhas do google, achando que talvez resolveria algumas questões, mas lá o meu problema ia ter que ser resolvida em javascript e aí piorou mais ainda, hehehe

Muito obrigada por toda ajuda e pelas dicas! :D
Vou analisar o código e tentar aplicá-lo!
Avatar do usuário
Por Jimmy
Avatar
#48791
Ok, fique a vontade pra perguntar.
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