Olá a todos.
Estou precisando de uma macro que impossibilite uma determinada planilha de ser editada, ou seja,
A plan 3 é um banco de dados de saída de pedidos.
A plan 3 é preenchida através de um botão na plan 2, que insere os dados na plan 3. O problema, é que a plan 3 não pode ser editada, ou seja, não é possível deletar, alterar ou inserir NADA manualmente nela, e sim somente através do botão da plan 2 (que insere e deleta).
Tenho o seguinte codigo que me foi fornecido pelo AleVBA:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewValue As Variant, OldValue As Variant
If Target.Count > 1 Then Exit Sub
'Say you want to work with the range A1:F100
If Not Intersect(Target, Range("A1:F10")) Is Nothing Then
NewValue = Target.Value
Application.EnableEvents = False
Application.Undo
OldValue = Target.Value
If OldValue = "" Then
Target.Value = NewValue
ElseIf InputBox("entre com a senha") = "alevba" Then
Target.Value = NewValue
Else: MsgBox "Você não tem permissão para alterar o conteúdo da celula.", 16, "Células Bloqueadas"
Target.Value = OldValue
End If
Application.EnableEvents = True
End If
End Sub
Esse código bloqueia a alteração de uma célula selecionada, porém se eu selecionar mais do que UMA, o excel permite a alteração de dados.
Já tentei alterar a linha: If Target.Count > 1 Then Exit Sub para: If Target.Count > 1000000 Then Exit Sub
mas deu errado...
Podem me ajudar? Preciso disso com urgência
Desde já agradeço.
Um Abraço
Postado : 10/09/2012 1:43 pm