excel vba公式与date比较在公式中的IF函数

假设单元格A1是date:23/06/2017

现在在Excel中,如果我把下面的公式放在单元格B1中:

= IF(INT(C2)>INT(2/15/2017);"Year1";"Year2") 

那么它工作正常。

但是,如果我试图把它认为VBA结尾: –

 Set sht1 = xWb.Sheets("ProcessedData") sht1.Range("B1").Select sht1.Range("B1").Formula = _ "=IF(INT(A1)>INT(2/15/2017);""Year1"";""Year2"")" 

它给我错误1004(对象未find)。 我试着用CDate,但我想,我在这里失去了一些东西。

你能帮我解决这个问题吗?

Excel是以英语为导向的 ,您正在使用; 在你的公式。

所以要么改变你的; 在你的公式string里面,比如:

 sht2.Range("B1").Formula = "=IF(INT(A1)>INT(2/15/2017),""Year1"",""Year2"")" 

或者,将Formula更改为FormulaLocal ,如下所示:

 sht2.Range("B1").FormulaLocal = "=IF(INT(A1)>INT(2/15/2017);""Year1"";""Year2"")" 

注意 :在Formula行,我认为你的意思是使用sht1而不是sht2 ,所以它应该是:

 sht1.Range("B1").Formula = "=IF(INT(A1)>INT(2/15/2017),""Year1"",""Year2"")"