यह ट्यूटोरियल आपको सिखाएगा कि VBA का उपयोग करके सेल फ़ार्मुलों को कैसे बनाया जाए।
VBA . में सूत्र
वीबीए का उपयोग करके, आप एक्सेल में सीधे रेंज या सेल में सूत्र लिख सकते हैं। यह इस तरह दिख रहा है:
123456789 | उप सूत्र_उदाहरण ()'एक सेल को हार्ड-कोडेड फॉर्मूला असाइन करें'रेंज ("बी 3")। फॉर्मूला = "= बी 1 + बी 2"'कोशिकाओं की एक श्रृंखला के लिए एक लचीला सूत्र निर्दिष्ट करें'रेंज("d1:d100").FormulaR1C1 = "=RC2+RC3"अंत उप |
दो रेंज गुण हैं जिन्हें आपको जानना होगा:
- फॉर्मूला - एक सटीक सूत्र (हार्ड-कोडेड सेल संदर्भ) बनाता है। एकल कक्ष में सूत्र जोड़ने के लिए अच्छा है।
- .फॉर्मूलाR1C1 - एक लचीला सूत्र बनाता है। कक्षों की श्रेणी में सूत्र जोड़ने के लिए अच्छा है जहां कक्ष संदर्भों को बदलना चाहिए।
सरल फ़ार्मुलों के लिए, फ़ॉर्मूला संपत्ति का उपयोग करना ठीक है। हालांकि, बाकी सब चीजों के लिए, हम इसका उपयोग करने की सलाह देते हैं मैक्रो रिकॉर्डर…
मैक्रो रिकॉर्डर और सेल फॉर्मूला
मैक्रो रिकॉर्डर वीबीए के साथ सेल फ़ार्मुलों को लिखने के लिए हमारा जाने-माने उपकरण है। आप बस कर सकते हैं:
- रिकॉर्डिंग शुरू
- सेल में फॉर्मूला टाइप करें (आवश्यकतानुसार रिश्तेदार / पूर्ण संदर्भों के साथ) और एंटर दबाएं
- रिकॉर्डिंग बंद करें
- VBA खोलें और आवश्यकता के अनुसार फ़ॉर्मूला की समीक्षा करें और जहाँ आवश्यक हो, कोड को कॉपी + पेस्ट करें।
मुझे लगता है कि यह है बहुत आसान VBA में संगत सूत्र टाइप करने के बजाय किसी कक्ष में सूत्र दर्ज करने के लिए।
कुछ बातों पर ध्यान दें:
- मैक्रो रिकॉर्डर हमेशा .FormulaR1C1 संपत्ति का उपयोग करेगा
- मैक्रो रिकॉर्डर निरपेक्ष बनाम सापेक्ष सेल संदर्भों को पहचानता है
VBA फॉर्मूलाR1C1 संपत्ति
फॉर्मूलाआर1सी1 प्रॉपर्टी आर1सी1-स्टाइल सेल रेफरेंसिंग का उपयोग करती है (मानक ए1-स्टाइल के विपरीत जिसे आप एक्सेल में देखने के आदी हैं)।
यहां कुछ उदाहरण दिए गए हैं:
12345678910111213141516171819 | उप सूत्रR1C1_उदाहरण ()'संदर्भ D5 (निरपेक्ष)'=$डी$5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर 5 सी 4"सेल A1 से 'संदर्भ D5 (रिश्तेदार)''=D5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर [4] सी [3]"सेल A1 से 'संदर्भ D5 (पूर्ण पंक्ति, सापेक्ष स्तंभ)''= डी$5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर 5 सी [3]"सेल A1 से 'संदर्भ D5 (सापेक्ष पंक्ति, निरपेक्ष स्तंभ)''=$डी5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर [4] सी 4"अंत उप |
ध्यान दें कि R1C1-शैली सेल संदर्भ आपको पूर्ण या सापेक्ष संदर्भ सेट करने की अनुमति देता है।
निरपेक्ष संदर्भ
मानक A1 संकेतन में एक पूर्ण संदर्भ इस तरह दिखता है: "=$C$2"। R1C1 अंकन में यह इस तरह दिखता है: "= R2C3"।
R1C1-शैली प्रकार का उपयोग करके एक निरपेक्ष सेल संदर्भ बनाने के लिए:
- आर + पंक्ति संख्या
- सी + कॉलम नंबर
उदाहरण: R2C3 सेल $C$2 का प्रतिनिधित्व करेगा (C तीसरा कॉलम है)।
123 | 'संदर्भ D5 (निरपेक्ष)'=$डी$5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर 5 सी 4" |
सापेक्ष संदर्भ
सापेक्ष सेल संदर्भ सेल संदर्भ हैं जो सूत्र को स्थानांतरित करने पर "स्थानांतरित" होते हैं।
मानक A1 अंकन में वे इस तरह दिखते हैं: "=C2"। R1C1 संकेतन में, आप वर्तमान सेल से सेल संदर्भ को ऑफसेट करने के लिए कोष्ठक [] का उपयोग करते हैं।
उदाहरण: सेल B3 में सूत्र "=R[1]C[1]" दर्ज करने से सेल D4 (सेल 1 पंक्ति नीचे और 1 कॉलम फॉर्मूला सेल के दाईं ओर) संदर्भित होगा।
वर्तमान सेल के ऊपर या बाईं ओर के कक्षों को संदर्भित करने के लिए ऋणात्मक संख्याओं का उपयोग करें।
123 | सेल A1 से 'संदर्भ D5 (रिश्तेदार)''=D5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर [4] सी [3]" |
मिश्रित संदर्भ
सेल संदर्भ आंशिक रूप से सापेक्ष और आंशिक रूप से निरपेक्ष हो सकते हैं। उदाहरण:
123 | सेल A1 से 'संदर्भ D5 (सापेक्ष पंक्ति, निरपेक्ष स्तंभ)''=$डी5रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर [4] सी 4" |
वीबीए फॉर्मूला संपत्ति
सूत्रों के साथ सेट करते समय .फॉर्मूला संपत्ति आप हमेशा A1-शैली संकेतन का उपयोग करेंगे। उद्धरणों से घिरे हुए को छोड़कर, आप ठीक वैसे ही सूत्र दर्ज करते हैं जैसे आप किसी एक्सेल सेल में करते हैं:
12 | 'एक सेल को हार्ड-कोडेड फॉर्मूला असाइन करें'रेंज ("बी 3")। फॉर्मूला = "= बी 1 + बी 2" |
वीबीए फॉर्मूला टिप्स
चर के साथ सूत्र
VBA में फ़ार्मुलों के साथ काम करते समय, सेल फ़ार्मुलों के भीतर चर का उपयोग करना बहुत आम है। चरों का उपयोग करने के लिए, आप शेष सूत्र स्ट्रिंग के साथ चरों को संयोजित करने के लिए & का उपयोग करते हैं। उदाहरण:
1234567 | उप सूत्र_चर ()डिम कॉलमनम जितने लंबेकॉलमनम = 4रेंज ("ए 1")। फॉर्मूलाआर 1 सी 1 = "= आर 1 सी" और कॉलमनम और "+ आर 2 सी" और कॉलममअंत उप |
सूत्र उद्धरण
यदि आपको सूत्र में उद्धरण (") जोड़ने की आवश्यकता है, तो उद्धरण दो बार दर्ज करें (""):
123 | उप मैक्रो २ ()रेंज ("बी 3")। फॉर्मूलाआर 1 सी 1 = "= टेक्स्ट (आरसी [-1]," "मिमी/दिन/वर्ष"")"अंत उप |
एक एकल उद्धरण (") पाठ की एक स्ट्रिंग के अंत में VBA को दर्शाता है। जबकि दोहरे उद्धरण ("") को पाठ की स्ट्रिंग के भीतर एक उद्धरण की तरह माना जाता है।
इसी तरह, एक स्ट्रिंग को उद्धरण चिह्न (") के साथ घेरने के लिए 3 उद्धरण चिह्नों (""") का उपयोग करें।
12 | MsgBox """उद्धरणों के साथ एक स्ट्रिंग को घेरने के लिए 3 का प्रयोग करें"""' यह तत्काल विंडो प्रिंट करेगा |
स्ट्रिंग वेरिएबल को सेल फॉर्मूला असाइन करें
हम किसी दिए गए सेल या श्रेणी में सूत्र पढ़ सकते हैं और इसे एक स्ट्रिंग चर के लिए असाइन कर सकते हैं:
123 | 'सेल फॉर्मूला को वेरिएबल में असाइन करें'स्ट्रिंग के रूप में मंद strFormulastrFormula = Range("B1").Formula |
सेल में सूत्र जोड़ने के विभिन्न तरीके
किसी सेल को फ़ॉर्मूला असाइन करने के तरीके के बारे में कुछ और उदाहरण यहां दिए गए हैं:
- सीधे फॉर्मूला असाइन करें
- फ़ॉर्मूला वाले स्ट्रिंग वेरिएबल को परिभाषित करें
- सूत्र बनाने के लिए चर का प्रयोग करें
12345678910111213141516171819202122232425 | उप अधिकसूत्रउदाहरण ()' एसयूएम फॉर्मूला जोड़ने के वैकल्पिक तरीके' सेल B1 . के लिए'स्ट्रिंग के रूप में मंद strFormulaरेंज के रूप में मंद सेलपंक्ति से श्रेणी के रूप में मंद, पंक्ति के रूप में श्रेणी के रूप मेंसेल सेट करें = रेंज ("बी 1")' सीधे एक स्ट्रिंग असाइन करनासेल। फॉर्मूला = "= एसयूएम (ए 1: ए 10)"स्ट्रिंग को एक चर में संग्रहीत करना' और "फॉर्मूला" संपत्ति को असाइन करनाstrFormula = "= एसयूएम (ए 1: ए 10)"सेल.फॉर्मूला = स्ट्रफॉर्मुला' एक स्ट्रिंग बनाने के लिए चर का उपयोग करना' और इसे "फॉर्मूला" संपत्ति को असाइन करनापंक्ति से = 1टोरो = 10strFormula = "=SUM(A" और fromValue & ":A" & toValue & ")सेल.फॉर्मूला = स्ट्रफॉर्मुलाअंत उप |
सूत्रों को ताज़ा करें
एक अनुस्मारक के रूप में, सूत्रों को ताज़ा करने के लिए, आप गणना कमांड का उपयोग कर सकते हैं:
1 | गणना |
एकल सूत्र, श्रेणी, या संपूर्ण कार्यपत्रक को ताज़ा करने के लिए .गणना करें का उपयोग करें:
1 | शीट्स ("शीट 1")। रेंज ("ए 1: ए 10")। गणना करें |