Por que usar Range.Formula no VBA para o Excel 2003 em vez de Range.Value?
Eu estava me perguntando por que no código VBA para o Excel 2003 nós ainda precisamos usarRange.Formula
paraescrever uma fórmula para uma célula em vez de apenas usarRange.Cell
? Ambos escrevem Strings para a célula que se torna forumlas, e a fórmula funciona (pelo que testei).
ActiveCell.Value="=If(True,""yes"",""no"")"
e
ActiveCell.Formula="=If(True,""yes"",""no"")"
faça o mesmo por mim (quando seleciono uma célula e executo cada um dos segmentos de código acima separadamente em células separadas). Ambos mostram o valor "sim" na célula e a fórmula é armazenada quando clico para visualizar cada célula.
Eu olhei no Centro de Desenvolvimento da Microsoft para informações:
Range.Formula
Range.Formula Property for Excel 2013 (o Excel 2003 não possui uma página para esta propriedade)
Range.Value
Propriedade para o Excel 2003 (Expandir o título "Propriedade Value conforme se aplica ao objeto Range".
Eu também pesquisei "Por que usar Range.Formula em vez de Range.Value VBA Excel" e não consegui encontrar nada relacionado à minha pergunta.
Algumas pessoas disse, useRange.Value
.
Alguns outros dizem usarRange.Formula
na pilha estouro (Desculpe eu perdi a referência para a pergunta exata ...)