/ /日付を使用しているため機能が機能していませんか? - excel、vba、excel-vba

日付を使用しているため機能が機能しません。 - excel、vba、excel-vba

私は依存する関数を記述しようとしていますしかし、私はそれを働かせることはできません。 Excelは、この数式で使用されている値のデータ型が間違っていることを伝え続けます。だから、日付でなければなりません。なぜなら、日付の値の加算を除いて、まったく同じ別の関数があるからです。

誰かがExcelセルC10に日付を書き込みます。開始日(列I)と終了日(列J)に依存する表(同じブックの別のシート上の)から特定の数値(予測インフレ率、列P)を要約する関数を使用していません)。

私は、ExcelはセルC10を日付として解釈することを確認しましたが、それはシリアル番号で行われます。

しかし、私は他の日付(シリアル番号)と比較するためにそれを使用するので、なぜそれが問題なのか分かりません。

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

回答:

回答№1は0

誤ったデータ型はここから来ます:

MaxDatum = ">=" & Datum

MaxDatumはダブルで、あなたは >= それに。それは Double。方法を試してみてください。

最も簡単な解決策は次のように書くことです:

Dim MinDatum, MaxDatum

の代わりに

Dim MinDatum, MaxDatum As Double

従って MaxDatum あなたが必要とするものに簡単に変換することができます。 MinDatum.