Use a formatação condicional. Escolha a opção "Usar uma fórmula para determinar quais células para formatar" e digite "= NOT (Cellhasformula)". Isso formatará qualquer coisa que esteja codificada.
Alguém tem uma dica especial (que não seja VBA) para informar sistematicamente se uma célula tem um valor codificado ou é uma fórmula derivada?
Estou lidando com alguns dados que contêm subtotais confusos e estou tentando ver se posso separar as linhas-primas.
Selecione as células em questão, pressione Ctrl + G e selecione Special
para obter a seguinte caixa de diálogo:
Em seguida, especifique o tipo de célula desejado e clique em OK
e somente esses tipos de células permanecerão selecionados.
=iferror(Formulatext(cell),"Not Formula")
ou para mostrar apenas as fórmulas:
=iferror(Formulatext(cell),"")
Dois outros métodos são para
Eu sei que você disse que não é VBA preferido, mas se você não tiver outras soluções, o objeto Range tem uma propriedade HasFormula.
Retorna: True se todas as células no intervalo contiverem fórmulas; False se nenhuma das células no intervalo contiver uma fórmula; null caso contrário.
Fonte: link
Bem além da data original, mas se é útil para qualquer pessoa, eu consegui contornar isso selecionando o intervalo de células, usando Substituir (Ctrl + H), definindo como 'Examinar' 'Fórmulas' e substitua um igual =
por um apóstrofo-igual a '=
Isso trouxe todas as fórmulas, mas obviamente também converteria coisas como se $ C $ 1 contivesse =if($A1=$B1,"Match","Different")
a '=if($A1'=$B1,"Match","Different")
Observe o A1'=B1
no meio da fórmula, que pode ser problemático, mas ainda assim significa que você consegue ver as fórmulas, embora de forma não pragmática. Poderia usar a função SUBSTITUTE para alterá-la de volta, então $ D $ 1 contém =SUBSTITUTE(C1,"'=","=")
, depois é só copiar para o Bloco de Notas e colar novamente em $ E $ 1
A outra maneira seria "mostrar fórmulas", mas isso mostraria fórmulas para cada célula, não apenas um intervalo selecionado.
Function is_formula(c As Range) As Boolean
is_formula = Left(c.Formula, 1) = "="
End Function
Se você deseja armazenar o arquivo do Excel em um formato de pasta de trabalho livre de macro, evite tanto o VBA quanto as macros (ou seja, as abordagens XL4 / XLM sugeridas em outras respostas). Nesta resposta, fiz a suposição de um arquivo Excel sem macro.
Se você usa o MS-Excel 2013, pode usar:
=ISFORMULA(reference)
Se você usa versões mais antigas do MS-Excel (por exemplo, 2010, 2007), não há função verdadeira para determinar se uma célula contém uma fórmula. No entanto, você pode aproximá-lo usando:
=IF(OR(ISBLANK(reference);CELL("prefix";reference)<>"");FALSE;IF(CELL("type";reference)="l";TRUE;"MAYBE"))
A função acima retorna:
Tags microsoft-excel