पिछले पाठ में, हमने वेरिएबल्स पर ध्यान दिया जिनमें कुछ डेटा लिखा जा सकता है, लेकिन उनमें एक से अधिक मान नहीं हो सकते। इस सीमा से बचने के लिए, VBA में ऐसे ऐरे हैं जो एकाधिक मान संग्रहीत कर सकते हैं।
यहां विभिन्न सरणियों के कुछ उदाहरण दिए गए हैं:
Sub variables() 'एक वेरिएबल घोषित करने का एक उदाहरण Dim var1 As String '1-आयामी सरणी घोषित करने का एक उदाहरण Dim array1(4) As String '2-आयामी सरणी घोषित करने का एक उदाहरण Dim array2(4, 3) As String '3-आयामी सरणी घोषित करने का एक उदाहरण Dim array3(4, 3, 2) As String End Sub
Dim array1(4) As String
एक-आयामी सरणी को एक कॉलम वाली तालिका के रूप में सोचा जा सकता है। सरणी array1(4) एक आयामी सरणी है जिसमें 5 रिकॉर्ड रखे जा सकते हैं। 5 क्यों? क्योंकि ऐरे में रिकॉर्ड की संख्या शून्य (0, 1, 2, 3, 4) से शुरू होती है।
आइए अब एक 2-आयामी सरणी पर विचार करें:
Dim array2(4, 3) As String
यह पहले से ही 5 पंक्तियों और 4 स्तंभों वाली एक तालिका जैसा दिखेगा:
'रंगीन कोशिकाओं के लिए मान निर्दिष्ट करना array2(0, 0) = "लाल कोशिका में मूल्य" array2(4, 1) = "हरे सेल में मूल्य" array2(2, 3) = "नीले सेल में मान"
चर की तरह, स्थिरांक का उपयोग मूल्यों को संग्रहीत करने के लिए किया जा सकता है, लेकिन अंतर यह है कि मान बदल नहीं सकते हैं। मान को दोहराने से बचने के लिए हम एक स्थिरांक जोड़ सकते हैं, उदाहरण के लिए 13.14:
Sub const_example() Cells(1, 1) = Cells(1, 2) * 13.14 Cells(2, 1) = Cells(2, 2) * 13.14 Cells(3, 1) = Cells(3, 2) * 13.14 Cells(4, 1) = Cells(4, 2) * 13.14 Cells(5, 1) = Cells(5, 2) * 13.14 End Sub
इससे कोड को समझना और संपादित करना आसान हो जाता है। यह आपको स्थिरांक का मान काफी सरलता से बदलने की भी अनुमति देता है:
Sub const_example() 'एक स्थिरांक घोषित करना + एक मान निर्दिष्ट करना Const ANNUAL_RATE As Double = 13.14 Cells(1, 1) = Cells(1, 2) * ANNUAL_RATE Cells(2, 1) = Cells(2, 2) * ANNUAL_RATE Cells(3, 1) = Cells(3, 2) * ANNUAL_RATE Cells(4, 1) = Cells(4, 2) * ANNUAL_RATE Cells(5, 1) = Cells(5, 2) * ANNUAL_RATE End Sub
चर का दायरा
यदि किसी प्रक्रिया की शुरुआत में एक वेरिएबल घोषित किया जाता है (Sub), तो इसका उपयोग केवल इस प्रक्रिया में किया जा सकता है। प्रक्रिया निष्पादित होने के बाद वेरिएबल का मान उपलब्ध नहीं होगा।
Sub procedure1() Dim var1 As Integer '=> वेरिएबल केवल इस प्रक्रिया में मान्य है End Sub Sub procedure2() '=> var1 का उपयोग यहां नहीं किया जा सकता End Sub
किसी भी मॉड्यूल प्रक्रिया में एक वेरिएबल का उपयोग करने के लिए, हमें केवल इसे मॉड्यूल की शुरुआत में ही घोषित करने की आवश्यकता है। और यदि आप इस तरह एक वैरिएबल घोषित करते हैं, तो यह कार्यपुस्तिका बंद होने तक उपलब्ध रहेगा।
Dim var1 As Integer Sub procedure1() '=> var1 का उपयोग यहां किया जा सकता है End Sub Sub procedure2() '=> var1 का उपयोग यहां भी किया जा सकता है End Sub
यदि आप पुस्तक के सभी मॉड्यूल में समान वेरिएबल का उपयोग करना चाहते हैं, तो आपको पिछले उदाहरण में केवल Dim को Global से बदलना चाहिए:
Global var1 As Integer
जिस प्रक्रिया में यह दिखाई देता है उसे निष्पादित करने के बाद एक वेरिएबल का उपयोग करने के लिए, Dim को Static से बदलें:
Sub procedure1() Static var1 As Integer End Sub
प्रक्रिया में सभी चर के मानों का उपयोग करने के लिए, Sub से पहले Static जोड़ें:
Static Sub procedure1() Dim var1 As Integer End Sub
यहां एक त्वरित उदाहरण दिया गया है कि आप अपना स्वयं का प्रकार कैसे बना सकते हैं:
'एक वैरिएबल प्रकार बनाना Type customers last_name As String first_name As String End Type Sub variables() 'एक चर की घोषणा Dim cust1 As customers 'Cust1 को मान निर्दिष्ट करना cust1.last_name = "Smith" cust1.first_name = "John" 'उपयोग का उदाहरण MsgBox cust1.last_name & " " & cust1.first_name End Sub