वीबीए: किसी फ़ंक्शन से किसी ऐरे को कैसे लौटाएं
आप VBA में किसी फ़ंक्शन से किसी सरणी को वापस करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:
Function GenerateRandom() As Integer()
Dim RandValues(2) As Integer
'generate three random integers and store them in array
RandValues(0) = Int(Rnd * 100)
RandValues(1) = Int(Rnd * 100)
RandValues(2) = Int(Rnd * 100)
'return array as a result of the function
GenerateRandom = RandValues
End Function
यह विशेष उदाहरण तीन यादृच्छिक पूर्णांक उत्पन्न करता है, उन्हें एक सरणी में संग्रहीत करता है, और फिर जेनरेटरैंडम() नामक फ़ंक्शन के परिणामस्वरूप सरणी लौटाता है।
निम्नलिखित उदाहरण दिखाते हैं कि इस फ़ंक्शन से मानों को दो अलग-अलग तरीकों से कैसे लौटाया जाए:
- संदेश बॉक्स में मान लौटाएँ
- कोशिकाओं में मान लौटाएँ
चल दर!
उदाहरण 1: किसी फ़ंक्शन से एक सरणी लौटाएं और संदेश बॉक्स में मान प्रदर्शित करें
हम GenerateRandom() नामक एक फ़ंक्शन बनाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जो तीन यादृच्छिक पूर्णांकों की एक सरणी उत्पन्न करता है, फिर MsgBox फ़ंक्शन का उपयोग करके पूर्णांकों को एक संदेश बॉक्स में प्रदर्शित करता है:
'define function to generate array of three random integers
Function GenerateRandom() As Integer()
Dim RandValues(2) As Integer
RandValues(0) = Int(Rnd * 100)
RandValues(1) = Int(Rnd * 100)
RandValues(2) = Int(Rnd * 100)
GenerateRandom = RandValues
End Function
'define sub to display values from function in a message box
SubDisplayRandom ()
Dim WS As Worksheet
Dim RandomValues() As Integer
Dim i As Integer
Set WS = Worksheets(" Sheet1 ")
RandomValues = GenerateRandom()
j = " Array values: "
For i = 0 To 2
j = (j & RandomValues(i) & " ")
Next i
MsgBox j
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
हम देख सकते हैं कि फ़ंक्शन एक संदेश बॉक्स में यादृच्छिक पूर्णांक 96 , 87 और 5 लौटाता है।
उदाहरण 2: किसी फ़ंक्शन से एक सरणी लौटाएं और कोशिकाओं में मान प्रदर्शित करें
हम GenerateRandom() नामक एक फ़ंक्शन बनाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जो तीन यादृच्छिक पूर्णांकों की एक सरणी उत्पन्न करता है और फिर एक्सेल में सेल A1 से शुरू होने वाले पूर्णांकों को प्रदर्शित करता है:
'define function to generate array of three random integers
Function GenerateRandom() As Integer()
Dim RandValues(2) As Integer
RandValues(0) = Int(Rnd * 100)
RandValues(1) = Int(Rnd * 100)
RandValues(2) = Int(Rnd * 100)
GenerateRandom = RandValues
End Function
'define sub to display values from function starting in cell A1
SubDisplayRandom ()
Dim WS As Worksheet
Dim RandomValues() As Integer
Dim i As Integer
Set WS = Worksheets(" Sheet1 ")
RandomValues = GenerateRandom()
For i = 0 To 2
WS.Range(" A1 ").Offset(i, 0).Value = RandomValues(i)
Next i
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
हम देख सकते हैं कि फ़ंक्शन हमारी वर्कशीट के सेल A1 से यादृच्छिक पूर्णांक 96 , 87 और 5 लौटाता है।
ध्यान दें : किसी भिन्न सेल से शुरू होने वाले तालिका मानों को वापस करने के लिए, बस कोड में A1 को एक अलग सेल संदर्भ से बदलें।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए में अन्य सामान्य कार्य कैसे करें:
VBA फ़ंक्शन से मान कैसे वापस करें
वीबीए में किसी अन्य शीट से सेल का मूल्य कैसे प्राप्त करें
VBA में सेल एक संख्या है या नहीं यह जांचने के लिए IsNumeric का उपयोग कैसे करें