मैं VBA FORMAT फ़ंक्शन समस्या को कैसे हल कर सकता हूं?


0

मैं FORMAT फ़ंक्शन का उपयोग कर रहा हूं, Excel 2103 VBA है, लेकिन मुझे अपेक्षित परिणाम नहीं मिल रहे हैं।

कोड की मेरी लाइन है:

strMonthNo = Format(Month(DateAdd("m", -1, Date)), "mm")

जहां Date29/11/2016 है, मैं उम्मीद करूंगा strMonthNo = 10, लेकिन यह नहीं है। यह 01 है!

FORMAT के बिना, मान सही है।

मैं इसे कैसे हल करूं?

जवाबों:


2

आउटपुट Monthएक संख्या है, दिनांक नहीं।

Format(x,"mm")उम्मीद है कि x एक तारीख होगी, इसलिए यह १० जनवरी १ ९ ०० को हो रहा है, इसीलिए इसका परिणाम है 1

महज प्रयोग करें
Format(Month(DateAdd("m", -1, Date)), "00")


1

आप एक ही काम दो बार कर रहे हैं।

DateAddआपको वह तारीख दे रहा है, जिसके साथ आप काम करना चाहते हैं - आज से एक महीने पहले की तारीख। Monthसमारोह तो उस तारीख से महीने निकालने जाता है - वर्तमान में 10।

FORMATतब यह फंक्शन उस महीने - 10 - को ले रहा है और इसे एक पूर्ण तिथि के रूप में व्याख्या कर रहा है, अर्थात 10 जनवरी 1900। यह वही है जो आप केवल महीने को दिखाने के लिए तैयार कर रहे हैं।

आपको MONTHया तो निकालने की आवश्यकता है या FORMAT। या तो ये काम करना चाहिए:

strMonthNo = Format(DateAdd("m", -1, Date))

strMonthNo = Month(DateAdd("m", -1, Date))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.