excel vba公式,在公式中的IF函数中进行日期比较

时间:2017-10-25 12:05:36

标签: excel vba excel-vba datetime

假设单元格A1是日期:2017年6月23日

如果我将以下公式放在单元格B1中,那么现在是excel:

=  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(找不到对象)。我尝试过CDate,但我想,我在这里遗漏了一些东西。

你能帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

Excel面向英语,您在公式中使用;

因此,请将公式字符串中的;更改为,,例如:

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"")"
相关问题