VBA:使用Range.Formula时出错

时间:2016-03-10 14:10:11

标签: vba excel-vba excel

我正在使用这个公式

ThisWorkbook.Sheets("Overview").Range(formrange).Formula = "=IF(OR(ISBLANK(B2);WEEKDAY(DATE($B$38;$B$37;B2);2)>5;DAY(EOMONTH(DATE($B$38;$B$37;B$3);0))<B2);0;IF(C2=""Y"";0,5;1))"

我遇到以下错误

Run-time error "1004"
Application-denied or object-defined error

你们想知道那是什么吗?

1 个答案:

答案 0 :(得分:5)

Range.Formula属性需要一个公式字符串,其格式与在美国​​区域设置的计算机上输入的格式相同。因此,对于此示例,您需要:

ThisWorkbook.Sheets("Overview").Range(formrange).Formula = "=IF(OR(ISBLANK(B2),WEEKDAY(DATE($B$38,$B$37,B2),2)>5,DAY(EOMONTH(DATE($B$38,$B$37,B$3),0))<B2),0,IF(C2=""Y"",0.5,1))"