मैं एक समारोह लिखने की कोशिश कर रहा हूं जो इस पर निर्भर करता हैतिथियां, लेकिन मैं इसे काम नहीं कर सकता। एक्सेल मुझे बताता रहता है कि इस सूत्र में उपयोग किए जाने वाले मान में गलत डेटा प्रकार है। तो यह तारीख होनी चाहिए, क्योंकि मेरे पास एक और कार्य है जो एक तिथि के जोड़ को छोड़कर बिल्कुल वही है।
कोई एक्सेल-सेल सी 10 में एक तारीख लिखता है औरतो मैं एक तालिका (एक ही कार्यपुस्तिका में एक और शीट पर) से कुछ संख्याओं (भविष्यवाणी मुद्रास्फीति दर, कॉलम पी) को संक्षेप में करने के लिए समारोह नहीं करूँगा जिसमें यह प्रारंभ तिथियों (कॉलम I) और समाप्ति तिथियों (कॉलम जे) पर निर्भर करता है )।
मैंने जांच की है कि एक्सेल सेल सी 10 को एक तारीख के रूप में व्याख्या करता है, लेकिन यह एक सीरियल नंबर के साथ करता है।
लेकिन मुझे नहीं लगता कि यह एक समस्या क्यों है क्योंकि मैं इसे अन्य तिथियों (सीरियल नंबर) के साथ तुलना करने के लिए उपयोग करता हूं?
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
उत्तर:
जवाब के लिए 0 № 1गलत डेटा प्रकार यहां से आता है:
MaxDatum = ">=" & Datum
मैक्सडैटम एक डबल है, और आप दे रहे हैं >=
इसके लिए इसे ए में परिवर्तित नहीं किया जा सकता है Double
। चारों ओर एक रास्ता कोशिश करो।
सबसे तेज़ समाधान इस तरह लिखना होगा:
Dim MinDatum, MaxDatum
के बजाय
Dim MinDatum, MaxDatum As Double
इस प्रकार MaxDatum
आपको जो चाहिए उसे आसानी से परिवर्तित कर दिया जाएगा, क्योंकि यह संस्करण भी होगा MinDatum
.