Olá, bom dia.
Tenho um projeto de planilha para controlar lançamentos e evitar exclusões acidentais. Já possuo um código que funciona perfeitamente, mas preciso de um outro código que irá complementar o primeiro. O código de utilizo não necessita de ajustes, e em se criando o segundo ele irá funcionar ainda melhor. O código que utilizo bloqueia através do evento CHANGE todas as células que possuem fórmulas. E como disse, funciona perfeitamente. Mas vamos ao segundo código.
Em anexo tem uma planilha com o formato que pretendo trabalhar. É provável que novas colunas sejam inseridas, mas acredito que a adaptação seja fácil. O usuário irá fazer lançamentos nas células do intervalo A2 até I2. Na célula J2 o usuário não fará lançamento, mas esta célula irá receber um texto inserido pelo código. A célula K2 é muito importante, pois ele irá disparar o código ao ser selecionada. Exatamente como disse, a célula K2 será o gatilho.
É possível ver na linha 4 da planilha anexa, como ficarão as informações digitadas após a execução do código. A idéia é que as informações não sofram qualquer alteração, apenas que, todas devem ser alteradas para um formato "texto" acrescentando-se aspas duplas. Note que assim as células serão transformadas em "fórmulas" e por consequência bloqueadas pelo segundo código automaticamente. Quanto a um eventual desbloqueio, isso não é um problema pois o segundo código já possui essa funcionalidade.
Os detalhes:
O código deve ser acionado com a seleção da célula correspondente a linha na coluna K, ou seja, no caso da linha 2, quando o usuário concluir a digitação ele deve selecionar a célula K2. Isso irá disparar um form com a pergunta "Confirma Lançamento ?", e os botões padrão "Sim" e "Não".
Ao confirmar com sim, ocorre a conversão dos valores em fórmulas e na célula "J" deve ser inserido o texto "Confirmado". Caso seja escolhida a opção "Não", nada deve ser convertido, porém deve ser inserido na célula "J" o texto "Não Confirmado".
Ao longo das inclusões, haverão células "J" com os textos "Confirmado" e "Não Confirmado", então o código somente deve ser executado para células "J" com o texto "Não Confirmado". Não executar o código caso já tenha sido confirmado anteriormente.
Não existe um intervalo de linhas, a planilha com a qual trabalho tem hoje cerca de 3.000.
Espero ter sido claro e conto com a ajuda de todos que dominam o VBA.
Obrigado
Postado : 09/05/2016 7:45 am