locked
Bloquear celula RRS feed

  • Pergunta

  • Como faço para bloquear uma celula em função de outra? Na coluna K, a celula está em branco ou tem uma data. Quero bloquear a respectiva celula da coluna S, para que só seja possível escrever algo nela, quando a celula da coluna K esteja em branco. Se tiver data, a celula da coluna S estará bloqueada (protegida). Obrigado!
    quinta-feira, 25 de setembro de 2008 10:02

Respostas

  • Entendi..

    Creio que é isto que quer..

    Code Snippet

    Dim Endereco$, Valor$
    Private Sub Worksheet_Change(ByVal Target As Range)
        If ActiveCell.Column = 19 Then
            If Range(Endereco).Offset(0, -8).Value <> "" Then
                Application.EnableEvents = False
                MsgBox "Célula bloqueada", vbExclamation
                Range(Endereco).Value = Valor
                Application.EnableEvents = True
            End If
        End If
    End Sub

     

     

    Code Snippet

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Endereco = ActiveCell.Address
        Valor = ActiveCell
    End Sub

     

     

    Não esqueça de marcar a resposta como respondida se der certo..

    Até..

    quinta-feira, 25 de setembro de 2008 14:04

Todas as Respostas

  • Olá

     

    Clique com o botão direito na guia da planilha que irá bloquer a célula e depois clique em exibir código..

    Cole o código

    Se na respectiva célula da coluna k não estiver em branco o código irá travar a célula da coluna S 

    Code Snippet

    Dim Endereco$
    Private Sub Worksheet_Change(ByVal Target As Range)
        If ActiveCell.Column = 19 Then
            If  Range(Endereco).Offset(0, -8).Value<>"" Then
                Application.EnableEvents = False
                MsgBox "Célula bloqueada", vbExclamation
                Range(Endereco).Value = ""
                Application.EnableEvents = True
            End If
        End If
    End Sub

     

     

    Code Snippet

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Endereco = ActiveCell.Address
    End Sub

     

     

     

    Tem como fazer sem código também....Usando validação.

    Se for isto que precisava ão se esqueça de marcar a resposta como respondida.

    Até..
    quinta-feira, 25 de setembro de 2008 11:39
  • Olá  EvangelistaLion, muito obrigado pela resposta. Funcionou quase que perfeito. O único problema, é  que quando tento escrever algo na célula que está bloqueada, aparece o poup-up, ditendo que está bloqueada e ao clicar em "OK", o valor original que estava nessa célula desaparece. Ou seja, se eu tentar sobrescrever uma célula bloqueada, seu valor desaparece. Como faço para manter o valor original dessa célula bloqueada? desde já grato pela ajuda!
    quinta-feira, 25 de setembro de 2008 13:27
  • Entendi..

    Creio que é isto que quer..

    Code Snippet

    Dim Endereco$, Valor$
    Private Sub Worksheet_Change(ByVal Target As Range)
        If ActiveCell.Column = 19 Then
            If Range(Endereco).Offset(0, -8).Value <> "" Then
                Application.EnableEvents = False
                MsgBox "Célula bloqueada", vbExclamation
                Range(Endereco).Value = Valor
                Application.EnableEvents = True
            End If
        End If
    End Sub

     

     

    Code Snippet

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Endereco = ActiveCell.Address
        Valor = ActiveCell
    End Sub

     

     

    Não esqueça de marcar a resposta como respondida se der certo..

    Até..

    quinta-feira, 25 de setembro de 2008 14:04