Como bloquear uma fórmula com referência própria?

0

Estou tentando isso:

Fórmula C9: = -40 + C9

O que eu quero é poder inserir algum valor no C9 que não substitua a fórmula e obtenha um resultado nessa célula. Por exemplo:

Se eu inserir o valor 140 em C9, a célula exibirá 100, porque a fórmula é = -40 + C9

Isso é possível?

    
por FernandoSBS 07.04.2013 / 15:58

3 respostas

2

Você pode escrever uma macro para um link de alteração de célula Você pode achar útil ler este tópico: link

Aqui está o exemplo de trabalho (tentei no meu computador)

Private Sub Worksheet_Change(ByVal Target As Range)
    Set KeyCells = Range("A1:C10")
    Set isect = Application.Intersect(KeyCells, Range(Target.Address))
    If Not isect Is Nothing Then
        Application.EnableEvents = False
        isect.Value = isect.Value - 40
        Application.EnableEvents = True
    End If
End Sub
    
por 07.04.2013 / 16:13
4

Resposta curta: não .

Fazer o que você declarou causará o que é chamado de referência circular .

    
por 07.04.2013 / 16:02
1

Você não deve fazer isso!

Fazer C9 = -40 + C9 é simplesmente uma recursão . Isso significa que, se a célula tiver permissão para avaliar, ela deve continuar subtraindo -40 para sempre. Além disso, não recomendo usar o Macro. Você nunca poderá fazer alterações ou reverter para os valores anteriores. Digamos que, se você quiser alterar uma célula, outras células serão afetadas.

Minha sugestão é criar uma coluna extra para isso. Diga para escrever seu valor em C9 e avalie isso em D9. Em seguida, você pode ir e ocultar a coluna C para torná-la não imprimível. Este caminho é muito robusto e seguro. Na verdade, é assim que as planilhas funcionam.

    
por 07.04.2013 / 16:50