एक्सेल वीबीए में, Range("A1").Value
वर्कशीट पर श्रेणी ए 1 के अंतर्निहित मान को वापस करना चाहिए। लेकिन अगर सेल को लेखांकन के रूप में स्वरूपित किया गया है तो मुझे एक अलग मूल्य मिल रहा है।एक्सेल वीबीए: सेल के मूल्य प्राप्त करें, सेल के स्वरूपण से स्वतंत्र
मैं सेल के वास्तविक अंतर्निहित मूल्य को कैसे प्राप्त करूं?
वर्कशीट
एक नया दस्तावेज़ बनाएँ, कोशिकाओं में निम्न मान दर्ज करें:
- A1: 0.00001
- A2: = A1
- ए 3: = ए 1 = ए 2
जैसा कि आप उम्मीद करेंगे, ए 3 परिणाम TRUE
में परिणाम। अब 2 दशमलव स्थानों का उपयोग करके ए 2 के लेखांकन को स्वरूपित करें। ए 2 अब $ 0.00
पढ़ता है, लेकिन अंतर्निहित मान अभी भी 0.00001
है, इसलिए ए 3 अभी भी TRUE
है।
VBA
एक नया मॉड्यूल बनाने और निम्नलिखित समारोह में जोड़ें:
Function f(addr As String)
f = Range(addr).Value
End Function
आप देख सकते हैं, यह सिर्फ Range
वस्तु की Value
विधि का उपयोग कर एक सीमा के मूल्य में हो जाता है ।
वर्कशीट
कार्यपत्रक पर वापस। निम्न मान दर्ज करें:
- B1: = f ("A1")
- बी 2: = च ("A2")
- बी 3: = बी 1 = बी 2
A1
और A2
एक ही अंतर्निहित मूल्य है, लेकिन B1
और B2
नहीं, भले ही वे दोनों Value
A1
और A2
विधि का उपयोग करके गणना की गई हों।
A3
(=A1=A2
) में अभिव्यक्ति A1
और A2
के वास्तविक अंतर्निहित मूल्य तक पहुंच रही है। मैं इन मूल्यों को वीबीए में कैसे एक्सेस करूं?
मैं एक्सेल 2010 का उपयोग कर रहा हूं, और 'बी 3' निश्चित रूप से 'गलत' आ रहा है। – Joe
मान लीजिए कि अगर आप केवल स्वरूपण को बदलते हैं तो यह पुनरावृत्ति नहीं करता है ... –