Notifications
Clear all

Bloquear células já preenchidas

5 Posts
3 Usuários
1 Reactions
1,958 Visualizações
(@fgaldiano)
Posts: 0
New Member
Topic starter
 

Bom dia a todos !

Eu procurei em outros tópicos mas não encontrei nada parecido com esta minha dúvida (sou novo no Fórum e talvez não tenha me familiarizado com todos os sub-tópicos :( )

Se esta dúvida já foi esclarecida em outro tópico, por gentileza alguém poderia linkar ele aqui ?!

Caso esta dúvida não tenha sido levantada anteriormente, ei-la ! :?:

Estou preenchendo uma tabela de horas trabalhadas de alguns funcionários e tenho um colega aqui no setor que outro dia, na minha ausência, "bagunçou" alguns valores aqui e também alterou dados que eu havia inserido em outros campos anteriores. Talvez na melhor das intenções ele tenha inserido alguns dados novos, mas terminou por bagunçar o que eu havia inserido dias antes. O estrago teve como ser consertado mas me vi na necessidade de proteger automaticamente as células que já foram digitadas para que elas não tenham seus valores alterados.

O que quero configurar nesta planilha é o seguinte:

1 - Apenas células "em branco" podem ser preenchidas. Células já com valores não podem ser alteradas a menos que eu desbloqueie por senha a planilha.

Obrigado pela atenção.

Um abraço a todos, bom resto de semana !

 
Postado : 21/10/2014 8:40 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Você pode bloquear somente as células com formulas, caso tenha que bloquear
Veja se na nossa base tenha algo que lhe ajude.
http://www.google.com.br/cse?cx=partner ... ndre%20VBA

Att

 
Postado : 21/10/2014 8:54 am
(@fgaldiano)
Posts: 0
New Member
Topic starter
 

Boa tarde !

Vou visitar estes links que você postou e verificar se consigo o efeito que eu quero.
Até li alguma coisa sobre criar um módulo. Mas não entendo absolutamente nada de VBA. Até sei , mediante passo a passo, copiar um código e colá-lo nas propriedades do objeto (planilha). Só que chega num ponto em que não sei o que fazer. Não sei quais comandos dar.

1 - abro a planilha
2 - clico Alt F11
3 - clico com o botão direito sobre a planilha no painelzinho lateral esquerdo.
4 - na janela que se abre, colo o código (encontrei este código em um outro site mas acho que é até alguém daqui que o criou, não sei) sem as aspas abaixo:

"Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range

ActiveSheet.Unprotect Password:="senha"
Cells.Locked = False

On Error Resume Next
Set rng = Cells.SpecialCells(xlCellTypeFormulas)
If Err.Number > 0 Then
Set rng = Cells.SpecialCells(xlCellTypeConstants)
Else
Set rng = Union(rng, Cells.SpecialCells(xlCellTypeFormulas))
End If
On Error GoTo 0

If Not rng Is Nothing Then rng.Locked = True

ActiveSheet.Protect Password:="senha"

End Sub"

5 - aí é que o bicho pega, pois não sei o que fazer. Não sei como "fechar" a criação e edição deste módulo. Não sei como testar esta rotina. Não sei a "sequência" de comandos depois disto. Talvez por realmente não ter absolutamente nenhuma experiência em Visual Basic.

Agradeço novamente a atenção e vou visitar os links que foram postados ! A gente vai conversando ! obrigado novamente.

 
Postado : 21/10/2014 2:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Fgaldiano

Se vc anexasse um exemplo da tua planilha, detalhando o que deseja, facilitaria muito.

[]s

 
Postado : 21/10/2014 3:11 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Faz o seguinte:

1. clica na planilha (lá embaixo, na "aba" que tem o nome dela) com o botão direito, e escolhe: Exibir código
2. cola o código abaixo na tela que abrir.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim senha As String

senha = "senha"

If Not IsEmpty(Target) Then
ActiveSheet.Unprotect Password:=senha
Target.Locked = True
ActiveSheet.Protect Password:=senha
End If
End Sub

3. salva como *.xlsm

Pronto.

Lembrando que onde eu destaquei em vermelho vc deve digitar a sua senha (entre aspas, como está ali).

Abs

 
Postado : 21/10/2014 3:35 pm
guiiolie reacted