Ir ao conteúdo

Macro para bloquear células após inserir dados (excel).


MMáximo

Posts recomendados

Postado

Estou precisando de uma macro (excel) para bloquear células específicas após ter inserido dados, impedindo a formatação dos dados previamente inseridos.

Desde já, Obrigado!

Postado

Caro MMáximo será que ninguém sabe essa resposta... estou com o mesmo problema que você... tb preciso de uma macro que faça esse bloqueio de células...

Vamos torcer pra alguém responder!!!

Postado

Tente isto

Private Sub Worksheet_Change(ByVal Target As Range)

'Avalia se o valor de digita

If Range("A1").Value > 1 And Range("A1").Value < 100 Then

MsgBox "Trava celula A1"

Range("A1").Select

Selection.Locked = True

Selection.FormulaHidden = False

ActiveSheet.Protect Password:="MARCIO", DrawingObjects:=True,

Contents:=True, Scenarios:=True

End If

End Sub

  • mês depois...
Postado

Caros amigos que estão na mesma situação sem resposta em que eu estava, aí vai a solução:

1- Insira os códigos a seguir no vba na planilha objeto em que se deseja que este código funcione. Ex.: Plan1, Plan2, etc.

2- Para que o código funcione, as células da coluna em que se deseja o travamento após a edição devem estar configuradas como desbloqueadas. Para isso selecione as células, clique com o botão direito do mouse, vá em propriedades, depois na aba segurança e selecione desbloqueada.

3- Para travar células de uma coluna quando for inserido datas utilize o seguinte código:

Private Sub Worksheet_Change(ByVal Target As Range)

Target.Select

If Target.Column = 1 Then ' O número se refere à coluna em que o código funcionará.

If IsDate(ActiveCell.Value) Then

Sheets("Plan1").Unprotect Password:="SENHA" ' Senha da planilha

Selection.Locked = True

Sheets("Plan1").Protect Password:="SENHA" 'Senha da planilha

End If

End If

End Sub

4- Para travar células de uma coluna quando for inserido letras utilize o seguinte código:

Private Sub Worksheet_Change(ByVal Target As Range)

Target.Select

If Target.Column = 1 Then ' O número se refere à coluna em que o código funcionará.

If Not IsNumeric(ActiveCell.Value) Then

Sheets("Plan1").Unprotect Password:="SENHA" ' Senha da planilha

Selection.Locked = True

Sheets("Plan1").Protect Password:="SENHA" 'Senha da planilha

End If

End If

End Sub

Observações importantes:

1- Combinações dos dois códigos em um único funciona.

2- A senha utilizada no código deve ser a mesma utilizada no travamento da planilha pelo menu do excel.

ESPERO QUE AJUDE,

BOA SORTE NO TRABALHO A TODOS!

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...