É possível formatar condicionalmente uma célula se ela contiver uma fórmula (para alertar a mim e a outros usuários ao atualizar a célula)?
É possível formatar condicionalmente uma célula se ela contiver uma fórmula (para alertar a mim e a outros usuários ao atualizar a célula)?
Respostas:
Você pode usar a formatação condicional para fazer isso usando nomes XLM e Range
Tenho um artigo mais longo sobre o uso do XLM com nomes de intervalo e formatação condicional para formatar automaticamente planilhas de acordo com o conteúdo da célula
xlm
sem avisos de macro; o MSFT mudou a abordagem de segurança.
Com base na resposta de brettdj, porque achei o artigo vinculado bastante difícil de seguir:
=ISFORMULA(INDIRECT("rc",FALSE))
$1:$1048576
como o intervalo a ser aplicado. Caso contrário, você pode inserir qualquer intervalo.A fórmula INDIRECT("rc",FALSE)
retorna a referência da célula atual. Se alguma vez eu usar isso em uma planilha, crio um Nome Definido chamado algo assim ThisCell
e o uso na fórmula, para o caso de voltar anos depois e pensar "que diabos é isso?".
INDIRECT("rc",FALSE)
, use a referência relativa com a célula superior esquerda no intervalo "Aplica-se a" à formatação condicional. Por exemplo, se o seu intervalo "Aplica-se a" for =$A$3:$F$300
, use =ISFORMULA(A3)
. Isso funciona porque a formatação condicional suporta referência relativa, consulte este
Você pode tentar estes:
Crie uma função personalizada com o seguinte código:
Function IsFormula(ByVal Ref As Range) As Variant
If Ref.Cells.Count > 1 Then
IsFormula = CVErr(xlErrNA)
Else
IsFormula = Ref.HasFormula
End If
End Function
Exemplo:
Para verificar se alguma célula da coluna A possui alguma fórmula:
=IsFormula(A1)
Existe uma maneira muito simples de fazer isso, testada no Excel 2016.
Destaque o seu intervalo ao qual você deseja aplicar, digamos, a partir de A3:W20
. Entre em formatação condicional e selecione NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
.
Coloque =isformula(A3)
e escolha o formato que você deseja aplicar.
A3
é obviamente uma referência à primeira célula do seu intervalo, mas essa formatação se aplica a todos. O resultado é que, dentro do seu intervalo, qualquer célula que é uma fórmula é formatada condicionalmente.
Os sites de ajuda mais recentes recomendam uma função definida pelo usuário:
Function IsFormula(cell) as boolean
IsFormula = cell.HasFormula
End Function
Em seguida, use essa função como sua condição
De fato, o Excel 2013 e versões posteriores têm IsFormula
como função padrão.
Você também pode usar a formatação condicional:
=HasNoFormula
Testado usando o Excel 2010.