Aqui está um exemplo para a coluna D ; você pode adaptá-lo a qualquer coluna. Esta macro Evento monitora as alterações feitas na coluna D . Se um usuário tentar inserir uma fórmula na coluna D , a entrada será invertida.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim D As Range, ints As Range
Set D = Range("D:D")
Set ints = Intersect(D, Target)
If ints Is Nothing Then Exit Sub
If ints.Count > 1 Then Exit Sub
If ints.HasFormula Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub
A única restrição é permitir que apenas uma célula por vez seja alterada.
Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:
- clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
- selecione Exibir código - isso abre uma janela do VBE
- cole o material e feche a janela do VBE
Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.
Se você salvar a pasta de trabalho, a macro será salva com ela.
Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar
o arquivo como .xlsm em vez de .xlsx
Para remover a macro:
- abrir as janelas do VBE como acima
- limpe o código
- feche a janela do VBE
Para saber mais sobre macros em geral, consulte:
link
e
link
Para saber mais sobre macros de eventos (código da planilha), consulte:
link
As macros devem estar ativadas para que isso funcione!