函数不工作,因为我使用date?

我试图写一个函数,取决于date,但我不能得到它的工作。 Excel不断告诉我,在此公式中使用的值具有错误的数据types。 所以它必须是date,因为除了增加一个date值之外,我还有另一个function是完全相同的。

有人在Excel单元格C10中写了一个date,然后我不想从某个表(在同一个工作簿中的另一个表上)中总结某些数字(预测的通货膨胀率,P列) (第一列)和结束date(第J列)。

我已经检查过,Excel将单元格C10解释为一个date,但是却有一个序列号。

但我不明白为什么这是一个问题,因为我用它来比较其他date(序列号)?

Public Function FetchFactorInflation(Product As String, ArgName As String) As Double Dim Datum As Date Datum = DateValue(Worksheets("InputTariff").Range("C10").Value) Dim MinDatum, MaxDatum As Double MinDatum = "<=" & Datum MaxDatum = ">=" & Datum FetchFactorInflation = Application.SumIfs(Worksheets("tariff").Range("P:P"), _ Worksheets("tariff").Range("I:I"), MinDatum, _ Worksheets("tariff").Range("J:J"), MaxDatum, _ Worksheets("tariff").Range("K:K"), Product, _ Worksheets("tariff").Range("L:L"), ArgName) End Function 

错误的数据types来自这里:

 MaxDatum = ">=" & Datum 

MaxDatum是一个双精度型,你给它>= 。 它不能被转换Double 。 尝试一下。

最快的解决办法就是这样写:

Dim MinDatum, MaxDatum

代替

Dim MinDatum, MaxDatum As Double

因此MaxDatum很容易转换为你所需要的,因为它和MinDatum一样也是变种。