Vba- လုပ်ဆောင်ချက်တစ်ခုမှ array တစ်ခုကို မည်သို့ပြန်ဆိုရမည်နည်း။


VBA ရှိ လုပ်ဆောင်ချက်တစ်ခုမှ array တစ်ခုကို ပြန်ပို့ရန် အောက်ပါအခြေခံ syntax ကို သင်အသုံးပြုနိုင်သည်-

 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

ဤဥပမာသည် ကျပန်း ကိန်းပြည့် သုံးခုကို ထုတ်ပေးပြီး ၎င်းတို့ကို ခင်းကျင်းတစ်ခုတွင် သိမ်းဆည်းကာ GenerateRandom() ဟုခေါ်သည့် လုပ်ဆောင်ချက်၏ ရလဒ်အနေဖြင့် array ကို ပြန်ပေးသည်။

အောက်ဖော်ပြပါ ဥပမာများသည် ဤလုပ်ဆောင်ချက်မှ တန်ဖိုးများကို နည်းလမ်းနှစ်မျိုးဖြင့် မည်သို့ပြန်ဆိုရမည်ကို ပြသသည်-

  • တန်ဖိုးများကို မက်ဆေ့ဘောက်စ်သို့ ပြန်ပို့ပါ။
  • ဆဲလ်များတွင် တန်ဖိုးများကို ပြန်ပေးသည်။

သွားကြရအောင်!

ဥပမာ 1: လုပ်ဆောင်ချက်တစ်ခုမှ array ကိုပြန်ပြီး message box တွင်တန်ဖိုးများကိုပြသပါ။

ကျွန်ုပ်တို့သည် 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

ကျွန်ုပ်တို့ ဤ macro ကို run သောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ output ကို ရရှိသည် ။

လုပ်ဆောင်ချက်၏ VBA ပြန်ပေးဇယား

လုပ်ဆောင်ချက်သည် မက်ဆေ့ဘောက်စ်တစ်ခုတွင် ကျပန်း integers 9687 နှင့် 5 ကို ပြန်ပေးကြောင်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။

ဥပမာ 2- လုပ်ဆောင်ချက်တစ်ခုမှ array တစ်ခုကို ပြန်ပေးပြီး ဆဲလ်များတွင် တန်ဖိုးများကို ပြသပါ။

ကျွန်ုပ်တို့သည် GenerateRandom() ဟုခေါ်သော လုပ်ဆောင်ချက်တစ်ခုကို ဖန်တီးရန် အောက်ဖော်ပြပါ အထားအသိုကို အသုံးပြု၍ ကျပန်း integers သုံးခုကိုထုတ်ပေးပြီး Excel တွင် cell 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

ကျွန်ုပ်တို့ ဤ macro ကို run သောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ output ကို ရရှိသည် ။

လုပ်ဆောင်ချက်သည် ကျွန်ုပ်တို့၏ worksheet ၏ဆဲလ် A1 မှ ကျပန်း ကိန်းပြည့် 9687 နှင့် 5 ကို ပြန်ပေးကြောင်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။

မှတ်ချက် – မတူညီသောဆဲလ်တစ်ခုမှစတင်သည့် ဇယားတန်ဖိုးများကို ပြန်ပေးရန်၊ ကုဒ်တွင် A1 ကို အခြားဆဲလ်ကိုးကားချက်ဖြင့် အစားထိုးပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် VBA တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

VBA လုပ်ဆောင်ချက်မှ တန်ဖိုးတစ်ခုကို မည်သို့ပြန်ရမည်နည်း။
VBA ရှိ အခြားစာရွက်မှ ဆဲလ်တစ်ခု၏တန်ဖိုးကို မည်သို့ရယူရမည်နည်း။
VBA တွင် ဆဲလ်သည် နံပါတ်တစ်ခု ဟုတ်မဟုတ် စစ်ဆေးရန် IsNumeric ကို အသုံးပြုနည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်