यह ट्यूटोरियल आपको सिखाएगा कि VBA का उपयोग करके सेल वैल्यू के साथ कैसे इंटरैक्ट किया जाए।
सेल मान सेट करें
सेल वैल्यू सेट करने के लिए, रेंज या सेल ऑब्जेक्ट की वैल्यू प्रॉपर्टी का उपयोग करें।
रेंज।वैल्यू और सेल।वैल्यू
VBA में सेल को संदर्भित करने के दो तरीके हैं:
- रेंज ऑब्जेक्ट - रेंज ("ए 2")। मूल्य
- सेल ऑब्जेक्ट - सेल (2,1)। मान
रेंज ऑब्जेक्ट आपको मानक "ए 1" नोटेशन का उपयोग करके सेल को संदर्भित करने की अनुमति देता है।
यह श्रेणी A2 का मान = 1 निर्धारित करेगा:
1 | रेंज ("ए 2")। मान = 1 |
सेल ऑब्जेक्ट आपको किसी सेल को उसकी पंक्ति संख्या और स्तंभ संख्या द्वारा संदर्भित करने की अनुमति देता है।
यह श्रेणी A2 का मान = 1 निर्धारित करेगा:
1 | सेल (2,1)। मान = 1 |
ध्यान दें कि आप पहले पंक्ति संख्या दर्ज करते हैं:
1 | सेल (Row_num, Col_num) |
एक साथ कई सेल के मान सेट करें
किसी एकल कक्ष को संदर्भित करने के बजाय, आप कक्षों की श्रेणी को संदर्भित कर सकते हैं और सभी कक्ष मानों को एक साथ बदल सकते हैं:
1 | रेंज ("ए 2: ए 5")। मान = 1 |
सेल वैल्यू सेट करें - टेक्स्ट
उपरोक्त उदाहरणों में, हम एक संख्या (1) के बराबर सेल मान सेट करते हैं। इसके बजाय, आप सेल मान को टेक्स्ट की एक स्ट्रिंग के बराबर सेट कर सकते हैं। वीबीए में, सभी पाठ उद्धरणों से घिरे होने चाहिए:
1 | रेंज ("ए 2")। वैल्यू = "टेक्स्ट" |
यदि आप पाठ को उद्धरणों से घेरते नहीं हैं, तो VBA सोचेगा कि आप एक चर का संदर्भ दे रहे हैं …
सेल मान सेट करें - चर
आप एक वैरिएबल के बराबर सेल वैल्यू भी सेट कर सकते हैं
1234 | स्ट्रिंग के रूप में मंद strTextstrText = "पाठ की स्ट्रिंग"रेंज ("A2")। मान = strText |
सेल वैल्यू प्राप्त करें
आप उसी वैल्यू प्रॉपर्टी का उपयोग करके सेल वैल्यू प्राप्त कर सकते हैं जिसका हमने ऊपर इस्तेमाल किया था।
एक्टिवसेल वैल्यू प्राप्त करें
ActiveCell मान प्राप्त करने और इसे संदेश बॉक्स में प्रदर्शित करने के लिए:
1 | MsgBox ActiveCell.Value |
सेल वैल्यू को वैरिएबल पर असाइन करें
सेल मान प्राप्त करने और इसे एक चर के लिए असाइन करने के लिए:
123 | Dim var as variantvar = रेंज ("A1")। मान |
यहां हमने वेरिएबल प्रकार के वेरिएबल का उपयोग किया है। भिन्न चर किसी भी प्रकार के मूल्यों को स्वीकार कर सकते हैं। इसके बजाय, आप एक स्ट्रिंग चर प्रकार का उपयोग कर सकते हैं:
123 | स्ट्रिंग के रूप में मंद वरvar = रेंज ("A1")। मान |
एक स्ट्रिंग चर प्रकार संख्यात्मक मान स्वीकार करेगा, लेकिन यह संख्याओं को पाठ के रूप में संग्रहीत करेगा।
यदि आप जानते हैं कि आपका सेल मान संख्यात्मक होगा, तो आप एक डबल वेरिएबल प्रकार का उपयोग कर सकते हैं (डबल वेरिएबल दशमलव मानों को स्टोर कर सकते हैं):
123 | डबल के रूप में मंद वरvar = रेंज ("A1")। मान |
हालाँकि, यदि आप दोहरे चर में पाठ वाले सेल मान को संग्रहीत करने का प्रयास करते हैं, तो आपको एक प्रकार की बेमेल त्रुटि प्राप्त होगी:
अन्य सेल मान उदाहरण
सेल वैल्यू कॉपी करें
किसी अन्य सेल मान के बराबर सेल मान सेट करना आसान है (या सेल मान "कॉपी करें"):
1 | रेंज ("ए 1")। वैल्यू = रेंज ("बी 1")। वैल्यू: |
आप इसे कक्षों की श्रेणी के साथ भी कर सकते हैं (श्रेणियां समान आकार की होनी चाहिए):
1 | रेंज ("ए 1: ए 5")। वैल्यू = रेंज ("बी 1: बी 5")। वैल्यू: |
सेल मूल्यों की तुलना करें
आप मानक तुलना ऑपरेटरों का उपयोग करके सेल मानों की तुलना कर सकते हैं।
परीक्षण करें कि क्या सेल मान समान हैं:
1 | MsgBox Range("A1").Value = Range("B1").Value |
सेल मान बराबर होने पर TRUE लौटाएगा। अन्यथा FALSE.
आप सेल मानों की तुलना करने के लिए एक इफ स्टेटमेंट भी बना सकते हैं:
12345678910111213 | अगर रेंज ("ए 1")। वैल्यू> रेंज ("बी 1")। वैल्यू तबरेंज ("सी 1")। मान = "से बड़ा"Elseif Range("A1").Value = Range("B1").Value फिररेंज ("सी 1")। मान = "समान"अन्यथारेंज ("सी 1")। मान = "इससे कम"अगर अंत |
आप उसी तरह टेक्स्ट की तुलना कर सकते हैं (याद रखें कि वीबीए केस सेंसिटिव है)