函数不工作,因为我使用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
一样也是变种。