Proteção de Interva...
 
Notifications
Clear all

Proteção de Intervalo Personalisada

8 Posts
3 Usuários
0 Reactions
1,202 Visualizações
(@luizhcosta)
Posts: 0
New Member
Topic starter
 

Olá bom dia.

Gostaria de implementar em uma planilha a proteção personalisada de um intervalo de células. A primeira linha possui os títulos das colunas, o usuário deverá preencher as células B1, C1, D1e E1. Na célula F1, ele terá que preencher com "S" ou "N". O preenchimento do intervalo B1:E1 fara surgir na célula A1 um código que será gerado pelo preenchimento do intervalo mensionado. Após o preenchimento da célula F1, todo o intervalo A1:F1 deverá ser bloqueado. O código será gerado por outra rotina que ainda irei desenvolver. Importante também exibir a mensagem "Intervalo Protegido" na tentativa de alteração das células bloqueadas.

Esta planilha é contínua, ou seja, as demais células abaixo estarão desbloqueadas e serão bloqueadas a medido do seu preenchimento conforme descrito.

Premissas:
* A célula F1 irá disparar o bloqueio, desde que preenchida com com a letra "S".
* Esse processo se repetira sucessivamente nas linhas abaixo.
* Se possível implementar uma rotina de desbloqueio mediante senha.

Será de muita ajuda a implementação dessa rotina.

Obrigado.

 
Postado : 18/11/2015 7:20 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Já tentou achar algo próximo disso em nossa base?
https://cse.google.com.br/cse?cx=partne ... ulas%20vba

Att

 
Postado : 18/11/2015 8:35 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

luizhcosta,

Bom dia!

Veja se é assim.

 
Postado : 18/11/2015 8:49 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Só mais um detalhe que esqueci de dizer: Para proteger a faixa de células que você quer, você precisa ter toda a planilha protegida por senha e também definir qual é a área de dados que você quer. Veja, no exemplo que enviei que defini a área A1 a F10 (pintada de amarelo) como a minha área de trabalho (ou área de dados). Note que todas essas células foram formatadas para Desbloqueadas. Daí, quando bloqueio com senha toda a planilha, essa é a única área editável da planilha. Quando o usuário insere um S em qualquer célula da coluna F, imediatamente a linha é toda bloqueada. Para voltar a bloquear as células a planilha precisa ser desbloqueada. Isso é feito pelo código que utiliza a senha "123" que defini como senha de bloqueio da planilha. Assim, o código, desprotege a planilha, bloqueia a faixa de célula da linha onde foi digitado S na coluna F e volta a bloquear toda a planilha.

 
Postado : 18/11/2015 8:54 am
(@luizhcosta)
Posts: 0
New Member
Topic starter
 

Olá,

Alexandre,

Pesquisei sim e encontrei alguns exemplos que bloqueiam uma célula ou até um intervalo. Mas especificamente para essa situação preferi contar com a ajuda de um código específico. Mas obrigado pela sugestão.

Wagner,

Achei sua solução ótima, muito parecida com a que eu imaginei. Tenho apenas alguns dúvidas. Primeiro, quanto ao desbloqueio, imaginei sim um botão que peça a senha, mas no seu código a senha já está no código. Eu imagino que ao clicar no botão fosse aberta uma caixa para informar a senha e fazer o desbloqueio. Segundo, com relação a extensão do arquivo, precisa ser esta mesmo ?

Gostei da sua sugestão.

Obrigado.

 
Postado : 18/11/2015 9:14 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

luizhcosta,

Com relação à extensão do arquivo a resposta é SIM. Precisa ser um arquivo com extensão .xlsm (arquivo de macro).

Segue nova versão com a solicitação da senha quando se pressiona o botão para desproteger. Detalhe: a senha (123) está gravada na própria planilha (aba Plan1) na célula Q1, que está pintada de branco e com a coluna Q oculta. Obviamente ela poderá está em qualquer lugar do arquivo (inclusive em uma aba totalmente oculta).

 
Postado : 18/11/2015 9:50 am
(@luizhcosta)
Posts: 0
New Member
Topic starter
 

Obrigado Wagner !

Vou tentar adaptar a minha planilha.
Vaeu.

 
Postado : 18/11/2015 10:08 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Por gentileza, vote positivamente.

 
Postado : 18/11/2015 10:25 am