Notifications
Clear all

Falha nas macros após planilha ser desprotegida

11 Posts
2 Usuários
0 Reactions
1,108 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal, boa tarde.

A planilha anexa vem apresentando problemas e não consigo resolver. Como ela funciona: quando o usuário insere dados numa linha e, na coluna J, digita um "S", toda a linha digitada é bloqueada. Isso linha a linha. Porém, se digitou alguma coisa errada ou precisa apagar a linha após ter inserido o "S" nesta coluna J, é necessária digitar uma senha (temporariamente "123") que desbloqueia toda a planilha. Até aí tudo bem. O problema que vem ocorrendo é que, uma vez digitada a senha e ela toda desbloqueada, nada mais funciona: as colunas B e C, que inserem a data e horário respectivamente, não funcionam mais, assim como a PROCV das colunas D e E; além disso, mesmo inserindo o "S" na coluna J, nenhuma linha mais fica protegida.
O que eu gostaria e necessito é que, após a digitação da senha e feita a alteração, quando o usuário digitasse algo na coluna A (no caso, sua matrícula), automaticamente as linhas de cima, preenchidas, ficassem novamente protegidas ( se não fizer isso, corre o risco dele deletar ou digitar algo por cima de um dado correto ) e todo o resto voltasse a funcionar normalmente.
Hoje preciso reiniciar o arquivo pra coisa voltar a funcionar, porém com o agravante de todas as linhas já digitadas ficarem desbloqueadas, até que um "S" seja digitado em qualquer linha e isso é realmente um problema.

Não posso esperar que o usuário ( que é da área fabril) fecha o arquivo e digite um "S" em qualquer linha pra proteção, ele não fará isso. E, em não fazendo, o arquivo é suscetível de potencial falha.

Agradeço a ajuda.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/12/2015 11:02 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

wwwagner,

Quando o usuário comum errou alguma coisa em alguma linha já bloqueada como ele deve fazer para desbloquear a linha e editá-la normalmente? Não vi nenhum código de desbloqueio...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/12/2015 11:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Wagner, tudo bem? Bom, neste caso o desbloqueio da planilha é feito manualmente, pelo supervisor dele, que tem a senha. Vai em 'revisão', 'desbloquear planilha' , dando a liberdade para o operador editar a linha (normalmente a última). Aí que está o problema: quando o supervisor procede o desbloqueio, toda a planilha fica desprotegida e vulnerável. Se quando o usuário digitasse algo na célula A ou quando ele digitasse "S" na coluna J, e a macro de bloqueio entrasse em ação, o problema estaria solucionado. Vale lembrar, esse bloqueio, obviamente, NÃO deve ocorrer nas linhas em branco, a preencher. Obrigado.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/12/2015 1:30 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Entendi. Veja: se o supervisor desbloqueia a planilha pelo método tradicional, obviamente, toda a planilha ficará desprotegida mesmo. Não tem jeito de se desproteger a planilha pelo caminho tradicional e fixar umas linhas bloqueadas e outras não bloqueadas.
Minha sugestão é a seguinte: cria-se um botão na planilha e associa-se esse botão a um código que faz o desbloqueio, via código, especialmente de uma linha. Supondo que o usuário notou, após o bloqueio da linha 6, que havia um erro nesta linha. Ele pressiona o botão de desbloqueio que perguntará, inicialmente, qual o número da linha que ele quer desbloquear. Ele então responde com o número 6 e aí desbloqueia-se a linha 6 para que ele possa editar a mesma. Depois, assim que ele confirmar com um S na coluna J da linha editada, volta-se a bloquear a linha.
Pode ser assim?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/12/2015 5:38 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Wagner, bom dia. Poxa, ficaria perfeito dessa maneira. Do modo como descreveu, não corre o risco dele sobrepor dados em uma linha preenchida corretamente e só teria acesso real à linha que efetivamente deseja alterar. Antecipadamente já agradeço pela ajuda. Abrs.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/12/2015 4:32 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Seguindo o raciocinio do Wagner, poderiamos ter um formulario simples para o desbloqueio, onde chamado atraves de um botão teria a opção de informar qual celula deverá ser alterada, e
Supondo que a alteração só deverá ocorrer na ultima celula digitada resumindo a somente uma linha, este formulario poderia ter os campos para preenchimento de acordo com a linha a ser alterada e ou opção de apaga-la por inteiro, e apos confirmar, a alteração é efetuada e protege-se novamente e fecha o formulário, evitando assim que se tenha acesso a outras celulas, a solicitação de senha pode ficar a criterio, ou ser solicitada quando chamar o formulário ou apos confirmar alteração.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/12/2015 5:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro, bom dia. Tudo bem ? Essa sua sugestão também é muito boa uma vez que as alterações ficariam num formulário e não na planilha propriamente dita. Com relação a senha, ela deveria ocorrer via macro mesmo e não através do usuário pois quem está efetuando a correção não é quem tem acesso a esta senha ( e sim, o supervisor da área).

Aproveitando, Wagner, com relação a sua sugestão, seria interessante que, quando se selecionasse a linha a ser alterada, o "S" da coluna J fosse limpo previamente, obrigando o usuário a digitá-lo assim que terminar a alteração e, consequentemente, procedesse a proteção da planilha.

Obrigado a todos.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/12/2015 7:15 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

wwwagner,

Boa Tarde!

Segue nova versão com o desbloqueio conforme sugerido.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/12/2015 3:44 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Wagner, muito bom dia! Excelente trabalho, exatamente o que eu precisava. Há, porém, um detalhe que não sei se é possível resolver. Ao clicar em "editar a linha", há o retorna da mensagem para não esquecer de digitar "S" na coluna J e o cursor já vai pra linha correspondente à edição. Deste modo, o próprio usuário pode editá-la e isso coloca em risco a integridade do sistema nos valores adicionados anteriormente. É possível, ao clicar em editar a linha, o sistema retornar mensagem solicitando a senha da planilha para que apenas o supervisor da área possa entrar nesse modo de edição e liberar apenas a linha que estiver incorreta? Obrigado.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/12/2015 5:04 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ok.

Segue com a correção solicitada.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 10:30 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Wagner, bom dia. Desculpe a demora na resposta. Na verdade, baseado no caderno anexado ontem, mesclei o código que você implementou nele com um outro que achei aqui no fórum apenas pra ocultar a senha que o supervisor vai digitar quando da necessidade de alterar alguma linha. Do contrário, a senha ficaria visível ao usuário. E, ao que parece, ficou perfeito agora. Muito obrigado pela ajuda, sem ela meu arquivo não teria a consistência e dinamismo que tem. Forte abraço.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/12/2015 7:55 am