Monday 15 April 2013

excel - Split a cell's formulaic elements into seperate cells -


तो मेरे पास सूत्र है = A + B , A और बी बाहरी मान हैं जिसके लिए बाहरी स्प्रैडशीट अब खुली नहीं है मैं सोच रहा था कि एक्सेल फॉर्मूला तत्वों को याद करता है और यदि अन्य तत्वों में उन तत्व मूल्यों को प्राप्त करना संभव हो। यानी

  पंक्ति फॉर्मूला मान 1 = ए + बी 45 2 = तत्व (ए 1, 1) 10 3 = तत्व (ए 1, 2) 35   

I क्या यह सरल हालांकि कल्पना नहीं कर सकते? मैं एक कोड के रूप में + का उपयोग करके वीबीए में सूत्र को अलग कर सकता हूं, लेकिन यह आदर्श नहीं है क्योंकि इसे बाहरी स्प्रैडशीट को फिर से खोलने की आवश्यकता होगी। अगर बाहरी स्प्रैडशीट को फिर से खोला जाना है तो मुझे पहली जगह में फार्मूला को अलग करने की कोशिश करने की आवश्यकता नहीं है। मुझे आशा है कि यह समझ में आता है और इसका उत्तर है।

आपका सूत्र पहले से उन मानों तक पहुंच रहा है ताकि उन्हें खुले कार्यपुस्तिका में संदर्भ मूल्यों का मूल्यांकन करने के लिए, सक्रिय कार्यपुस्तिका में सूत्र को पार्स करने के लिए आपको कार्यपुस्तिका को फिर से खोलने के लिए नहीं की आवश्यकता है।

अपना सूत्र मान कर एक बंद कार्यपुस्तिका का संदर्भ देता है, साथ की तरह एक सरल योग समारोह:

<कोड> = 'C: \ Users \ david_zemens \ डेस्कटॉप \ [test.xlsx] पत्रक 1' $ A $ 1 + = 'सी: \ Users \ david_zemens \ डेस्कटॉप \ [Test.xlsx] शीट 1 '! $ B $ 1

आप सूत्र को VBA में या वर्कशीट पर स्ट्रिंग फ़ंक्शंस का उपयोग कर सकते हैं। जैसा कि आप ध्यान दें, इस उदाहरण के लिए, + ऑपरेटर द्वारा पार्सिंग पर्याप्त होगा। चूंकि मुझे लगता है कि आप यह समझते हैं कि यह कैसे करना है, मेरा उदाहरण यह प्रदर्शित नहीं करता कि सूत्र कैसे पार्स करना है।

जब तक आप सूत्र से संदर्भ जान सकते हैं या प्राप्त कर सकते हैं, आपको उन कक्षों तक पहुंचने में सक्षम होना चाहिए 'मान सूत्र के माध्यम से, या VBA में प्रोग्राम के रूप में ExecuteExcel4Macro इस्तेमाल करते हैं।

  उप GetValsFromClosedWorkbook () मंद fileName स्ट्रिंग मंद filePath स्ट्रिंग मंद SHEETNAME स्ट्रिंग मंद cellref स्ट्रिंग मंद के रूप में के रूप में के रूप में के रूप में myFormula स्ट्रिंग के रूप में 'इस उदाहरण अपने "ए + बी" सूत्र में दो तर्क में से एक हो सकता है:' 'सी:'! A1 '\ Users \ david_zemens \ डेस्कटॉप \ [test.xlsx] पत्रक 1 ## आप ठीक ढंग से पार्स कर सकते हैं मान सूत्र इन पर पहुंचने के लिए: फ़ाइल नाम = "test.xlsx" filePath = "C: \ Users \ david_zemens \ डेस्कटॉप \" SHEETNAME = "Sheet1" cellref = "A1" ' "& amp R1C1 अंकन myFormula = =" करने के लिए जुटना' ; फ़ाइलपथ & amp; "[" & Amp; फ़ाइलनाम & amp; "]" & Amp; शीटनाम & amp; " '!" & Amp; _ रेंज (cellref) .Address (,, xlR1C1) '## सबसे पहले, दर्शाते हैं कि हम बाहरी संदर्भ का मूल्यांकन कर सकते हैं: रेंज के साथ ( "बी 1") .Value = myFormula MsgBox .Value .Clear के साथ एंड' का उपयोग कर सूत्र का मूल्यांकन ## ExecuteExcel4Macro: MsgBox ExecuteExcel4Macro (बदलें (myFormula, "=", vbNullString)) End Sub   

अतिरिक्त जानकारी

< पी> अपडेट

ओपी के प्रश्न के आधार पर यह कैसे काम करता है (टिप्पणियां, नीचे), मैं यह नहीं जानता कि यह परिदृश्य के पीछे कैसे काम करता है, लेकिन यह मेरा अनुमान / विवरण है:

सबसे पहले, ध्यान रखें कि एक कक्ष में विभिन्न गुण हो सकते हैं जैसे .ext , .value , .Value2 , । फ़ॉर्मूला आदि। जो किसी एक तरह से या किसी अन्य सामग्री का प्रतिनिधित्व करते हैं।

फार्मूला का मूल्यांकन नहीं किए जाने तक मान सक्रिय फ़ाइल में नहीं है, जिस पर एक्सेल बाहरी फाइल को पूछता है और वर्तमान मान को वापस देता है वह संदर्भ अब सक्रिय फाइल में उस मान के साथ ही फ़ॉर्मूला बाह्य फ़ाइल का संदर्भ होता है।

जैसा कि आप सक्रिय फ़ाइल को जारी रखते हैं वह मान और संदर्भ, लेकिन केवल जब संकेत मिलेगा मूल्य को अद्यतन कर सकते हैं। उदाहरण के लिए, जब आप लिंक किए गए कार्यपुस्तिका को पुनः खोलते हैं, तो आपको "बाहरी लिंक अपडेट करें" या नहीं, यह संकेत दिया जाएगा।

  • यदि आप नहीं कहते हैं, तो वह पहले संग्रहीत मानों का उपयोग करेगा (फिर भी formula , यह सिर्फ इसका मूल्यांकन नहीं करता है।
  • यदि आप कहते हैं हाँ, यह सूत्र का पुनः मूल्यांकन करेगा (यदि बाहरी फ़ाइल में मान बदल गया है) और वापस नया .value

    तो, यही मुझे संदेह है कि क्या हो रहा है। अगर आप " कैसे पूछ रहे हैं तो Excel डेटा का उपयोग करता है एक अन-खोले कार्यपुस्तिका के अंदर "मुझे वाकई पता नहीं है कैसे मुझे अभी पता है कि यह करता है

No comments:

Post a Comment