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

Foi útil?

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
scroll top