/ / Funkcia nefunguje, pretože používam dátumy? - excel, vba, excel-vba

Funkcia nefunguje, pretože používam dátumy? - excel, vba, excel-vba

Snažím sa napísať funkciu, od ktorej závisídátumy, ale nemôžem to dostať do práce. Program Excel stále hovorí, že hodnota, ktorá sa používa v tomto vzorci, má nesprávny typ údajov. Takže to musí byť dátum, pretože mám inú funkciu, ktorá je presne tá istá, okrem pridania dátumu.

Niekto napíše dátum v bunke Excel C10 apotom som chcel funkciu zhrnúť určité čísla (predpovedané miery inflácie, stĺpec P) z tabuľky (na inom hárku v tom istom zošite), v ktorom závisí od začiatku (stĺpec I) a od dátumu ukončenia (stĺpec J ).

Skúsil som, že program Excel interpretuje bunku C10 ako dátum, ale má sériové číslo.

Ale neviem, prečo to je problém, pretože ho používam na porovnanie s inými dátumami (sériové čísla)?

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

odpovede:

0 pre odpoveď č. 1

Zlyhá chybný typ údajov:

MaxDatum = ">=" & Datum

MaxDatum je dvojitý a dáte >= k tomu. Nemožno ju previesť na a Double, Vyskúšajte cestu okolo.

Najrýchlejším riešením by bolo napísať takto:

Dim MinDatum, MaxDatum

namiesto

Dim MinDatum, MaxDatum As Double

teda MaxDatum by bolo ľahké previesť na to, čo potrebujete, pretože by to bolo aj variantné MinDatum.