2014-07-16 5 views
0

이 사이트에서 검색했지만 내 문제에 대한 답을 찾을 수 없습니다. VB 2010 Express를 사용하고 있습니다. Excel 스프레드 시트에 수식을 쓰려고합니다.상단 및 하단 코드는 정상적으로 작동하지만 위 공식은 작동하지 않습니다.

oWorkSheet = oBook.Sheets(STRName) 
'my variables are all declared strings 

'this section works 

FMLAValue1 = "=-L8" 
FMLAValue2 = "=SUM($I$7;$F$8:$H$8)" 
FMLAValue3 = "=SUM(M8:U8)" 

oWorkSheet.Range("H8").Select() 
oWorkSheet.Range("H8").Formula = FMLAValue1 
oWorkSheet.Range("H8").AutoFill (oWorkSheet.Range("H8:H40")) 

'up to here 

'now this is the problem code below: if I paste the formula into a 
'excel sheet cell, it works. 

oWorkSheet.Range("I8").Select() 
oWorkSheet.Range("I8").Formula = FMLAValue2 

'**the line above gives an "Exception from HRESULT: 0x800A03EC "** 

oWorkSheet.Range("I8").AutoFill (oWorkSheet.Range("I8:I40")) 

'this part also works 

oWorkSheet.Range("L8").Select() 
oWorkSheet.Range("L8").Formula = FMLAValue3 
oWorkSheet.Range("L8").AutoFill (oWorkSheet.Range("L8:L40")) 

oWorkSheet.Range("J7").Select() 
oWorkSheet.Range("J7").Formula = "=I7" 
+0

사용해보십시오'대신 Formula''의 FormulaLocal', 또는 쉼표로 세미콜론을 교체합니다. –

답변

0

당신의 FMLAValue2 변수에 저장 공식은 당신이 , (쉼표)를 사용한다, 숫자를 구분하려면 ; (세미콜론)이 없어야 올바른 보이지 않는다.

사용이 대신 :

FMLAValue2 = "=SUM($I$7,$F$8:$H$8)" 

내가 발견하지 않은 다른 곳에 문제가있는 경우가 아니면 희망, 확인해야한다.

0

수식이 올바른지 테스트하려면 FormulaDesk을 사용하십시오. 오류가있는 경우 즉시 알려주고 공식에서 정확히 어디에 있는지 정확히 알려줍니다. 그런 다음 VBA 코드에 수식을 붙여 넣을 수 있습니다.

아래 이미지는 오류가 수식 내에있는 정확한 위치를 정확히 나타내는 방법을 보여줍니다. 따라서 귀하의 경우, 작동하지 않는 오류를 Excel의 셀에 붙여 넣은 다음 FormulaDesk의 오류 보고서를보고 정확한 원인을 찾으십시오.

[공개 : 나는 FormulaDesk의 저자입니다. 나는 확실히 포스터] 오류를 찾는 데 도움이됩니다 생각

enter image description here

관련 문제