VBA - सरणी वैरिएबल के रूप में संग्रहित एक सीमा तक एरियरफॉर्मुला


3

मुझे अपनी स्प्रैडशीट में डायनामिक रेंज में एक सूत्र सरणी लागू करने की आवश्यकता है, जो एक निश्चित आकार सीमा के लिए उदाहरण के लिए ठीक काम करता है:

Selection.Offset(2, 0).FormulaArray = "=(SUM((Exx:Eyy-Fxx:Fyy)^2)/X)^.5"

लेकिन मेरी सभी स्प्रेडशीट में श्रेणियों का एक निश्चित आकार और स्थिति नहीं है, इसलिए मैं उन्हें शुरू में चुनता हूं और फिर मैं उन्हें आयाम 1 के सरणियों के रूप में संग्रहीत करता हूं और फिर लंबाई N पर फिर से करता हूं।

इन सरणियों का नाम दिया जाएगा, उदाहरण के लिए, ए फॉर रेंज एक्सएक्स: आइ और बी फॉर रेंज एफएक्सएक्सएक्स: फाय, तो, तब, जब मैं एक ही उपरोक्त सरणी सूत्र लागू करना चाहता हूं, तो मुझे त्रुटि मिलती है Compile Error: type mismatch when using the array variables instead of the explicit ranges साथ में:

Selection.Offset(2, 0).FormulaArray = "=(SUM((" & A & "-" & B & ")^2)/X)^.5"

और अगर मैं उद्धरण और एम्परसेंड का उपयोग नहीं करता, तो निश्चित रूप से, मुझे त्रुटि मिली name

मैंने भी इस्तेमाल करने की कोशिश की evaluate समानता के दाहिने हाथ की संपत्ति और यह त्रुटियों के बिना काम करता है, लेकिन इस तरह मुझे सूत्र सरणी का उपयोग करने के समान मूल्य नहीं मिलता है: /

क्या कोई मुझे एक हाथ दे सकता है?

जवाबों:


1

यह आपके प्रश्न से स्पष्ट नहीं है कि आपके सरणियों स्ट्रिंग / रेंज का डेटा प्रकार क्या है? ऐसा लगता है कि एक्सेल

  • या तो आपको नहीं पता कि आपको किस शीट का मतलब है (यदि आपका संदर्भ स्ट्रिंग के रूप में संग्रहीत है, तो पते में शीट जोड़ने के लिए भी (जैसे। शीट 1! ए 1: बी 1)!
  • या तो अपने डेटा की गलत व्याख्या करें (यदि आपका संदर्भ सीमा में संग्रहीत है तो ए के बजाय ए.एड्रेस का उपयोग करने का प्रयास करें)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.