ຄຳສັ່ງ Function

ຟັງຊັນແມ່ນບລັອກຂອງລະຫັດທີ່ຈະເຮັດວຽກເມື່ອຖືກເອີ້ນໃຊ້. ໂດຍທົ່ວໄປແລ້ວ ຟັງຊັນຈະຖືກເອີ້ນໃຊ້ພາຍໃນນິພົດ.

ທ່ານສາມາດສົ່ງຂໍ້ມູນ, ເຊິ່ງເອີ້ນວ່າພາລາມິເຕີ ຫຼື ອາກິວເມັນ, ເຂົ້າໄປໃນຟັງຊັນໄດ້. ທ່ານອາດຈະສົ່ງພາລາມິເຕີແບບຄ່າ (by value) ຫຼື ແບບອ້າງອີງ (by reference). ເມື່ອສົ່ງແບບອ້າງອີງ, ການປ່ຽນແປງໃດໆທີ່ເກີດຂຶ້ນກັບພາລາມິເຕີນັ້ນພາຍໃນຟັງຊັນ ຈະຖືກສົ່ງກັບຄືນໄປຫາລະຫັດທີ່ເອີ້ນໃຊ້.

ໂດຍທົ່ວໄປແລ້ວ ຟັງຊັນຈະສົ່ງຄືນຂໍ້ມູນເປັນຜົນລັດ.

ໄວຍາກອນ:

ແຜນວາດຄຳສັ່ງ Function


  [Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
          ຄຳສັ່ງຕ່າງໆ
      [Exit Function]
          ຄຳສັ່ງຕ່າງໆ
  End Function

ພາຣາມິເຕີ:

ຂອບເຂດ (scope): ຂອບເຂດເລີ່ມຕົ້ນຂອງຟັງຊັນແມ່ນ Public. ຂອບເຂດແບບ Private ໝາຍເຖິງຣູທີນພາຍໃນໂມດູນ ເຊິ່ງບໍ່ມີຈຸດປະສົງໃຫ້ໃຊ້ຈາກໂມດູນອື່ນ.

ຊື່ (name): ຊື່ຂອງຊັບຣູທີນທີ່ຈະບັນຈຸຄ່າທີ່ສົ່ງຄືນໂດຍຟັງຊັນ.

ອາກິວເມັນ (arguments): ພາລາມິເຕີທີ່ຈະຖືກສົ່ງໃຫ້ຊັບຣູທີນ.

ສ່ວນຍ່ອຍອາກິວເມັນ

ສ່ວນຍ່ອຍອາກິວເມັນ


      {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
    
ພາລາມິເຕີ

Optional: ອາກິວເມັນນີ້ບໍ່ແມ່ນສິ່ງບັງຄັບ.

ByRef: ອາກິວເມັນຖືກສົ່ງຜ່ານແບບອ້າງອີງ. ByRef ແມ່ນຄ່າເລີ່ມຕົ້ນ.

ByVal: ອາກິວເມັນຖືກສົ່ງຜ່ານດ້ວຍຄ່າ (by value). ຄ່າຂອງມັນສາມາດຖືກແກ້ໄຂໂດຍຣູທີນທີ່ຖືກຮຽກໃຊ້.

char: ອັກສອນປະກາດປະເພດ.

typename: ຊື່ປະເພດຂໍ້ມູນພື້ນຖານ. ສາມາດລະບຸປະເພດທີ່ກຳນົດໂດຍໄລບຣາຣີ ຫຼື ໂມດູນໄດ້ເຊັ່ນກັນ.

= expression: ລະບຸຄ່າເລີ່ມຕົ້ນສຳລັບອາກິວເມັນ ໃຫ້ກົງກັບປະເພດທີ່ປະກາດໄວ້. ຈຳເປັນຕ້ອງມີ Optional ສຳລັບແຕ່ລະອາກິວເມັນທີ່ລະບຸຄ່າເລີ່ມຕົ້ນ.

ParamArray: ໃຊ້ ParamArray ເມື່ອບໍ່ຮູ້ຈຳນວນພາລາມິເຕີທີ່ແນ່ນອນ. ກໍລະນີປົກກະຕິຄືການໃຊ້ໃນຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດເອງໃນ Calc. ການໃຊ້ ParamArray ຄວນຈຳກັດໄວ້ພຽງແຕ່ອາກິວເມັນສຸດທ້າຍຂອງຣູທີນເທົ່ານັ້ນ.

ໄອຄອນ ເຄັດລັບ

ການໃຊ້ ParamArray ຫຼື = expression ຈຳເປັນຕ້ອງວາງ Option Compatible ໄວ້ກ່ອນລະຫັດໂປຣແກຣມໃນໂມດູນ.


ໄອຄອນ ຄຳເຕືອນ

ເມື່ອໃຊ້ Option VBASupport 1, ອາກິວເມັນ Optional ທີ່ບໍ່ມີຄ່າເລີ່ມຕົ້ນ (= expression) ຈະຖືກກຳນົດຄ່າເລີ່ມຕົ້ນຕາມປະເພດຂໍ້ມູນຂອງມັນ, ຍົກເວັ້ນປະເພດ Variant.


ສ່ວນຍ່ອຍຊື່ປະເພດ (typename)

ສ່ວນຍ່ອຍປະເພດຂໍ້ມູນພື້ນຖານ


      {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}
    
ສ່ວນຍ່ອຍອັກສອນ (char)

ອັກສອນປະກາດປະເພດ


      { % | & | ! | # | $ | @ }
    

ຕົວຢ່າງ:


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siStep = 0 To 10 ' ຕື່ມຂໍ້ມູນທົດສອບໃສ່ໃນອາເຣ
        sListArray(siStep) = chr$(siStep + 65)
        MsgBox sListArray(siStep)
    Next siStep
    sReturn = LinSearch(sListArray(), "B")
    Print sReturn
End Sub
 
Function LinSearch( sList(), sItem As String ) As Integer
Dim iCount As Integer
' Linsearch ຄົ້ນຫາ TextEntry ໃນ TextArray:sList():
' ຄ່າທີ່ສົ່ງຄືນແມ່ນດັດຊະນີຂອງລາຍການ ຫຼື 0 (Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit For ' ພົບ sItem ແລ້ວ
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function
ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!