Preencher célula do Excel programaticamente com uma fórmula IF não funciona
-
20-12-2019 - |
Pergunta
Estou tentando preencher uma célula do Excel 2010 programaticamente via COM Interop, com uma string que representa uma fórmula IF.
A seguinte linha de código funciona bem, resolve o valor 4 no Excel:
.Range("C10").Value = "=2+2"
mas quando passo uma fórmula IF (como String)...
.Range("C11").Value = "=IF(1+1=2;2;0)"
...eu me deparo com um COMException
, ditado: Exception from HRESULT: 0x800A03EC
.
Se eu inserir a mesma fórmula IF diretamente no Excel, ela será analisada corretamente.
Obrigado pela ajuda!
Chris
Solução
Você deve substituir o ponto e vírgula por vírgulas e usar .Formula
em vez de .Value
.Range("C11").Formula= "=IF(1+1=2,2,0)"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow