ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ByVal Target As Range ¥Îªk

¦^´_ 1# mdr0465
¦h¦h¤Wºô¬d¸ß¡A§A«K·|§ó¥[©úÁA¥~­±ªº¥@¬É¤F¡C
¥H ByVal ©M ByRef ¶Ç»¼¤Þ¼Æ

ByRef and ByVal Parameters

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-1-28 16:07 ½s¿è

¦^´_ 1# mdr0465
Á|­Ó¹ê¨Ò»¡©ú¡A§A«K·|©úÁA¡G
  1. Sub joke()
  2.     Dim txt As String, num As Integer
  3.    
  4.     txt = "§A¦n¶Ü¡H": num = 200
  5.     Test1 txt, num    '  ¶Ç§}  (§Y jackyq ¤j¤j¤À¨Éªº "¥»´L")
  6.     MsgBox "txt = " & txt & " , num = " & num
  7.     '  µª®×¬O¡G txt = «Ü¦n¡AÁÂÁ¡I ¤j®a¥i¦n? , num = 150
  8.    
  9.     txt = "¦­À\¦Y¤F¶Ü¡H": num = 100
  10.     Test2 txt, num     '  ¶Ç­È  (§Y jackyq ¤j¤j¤À¨Éªº "¤À¨­")
  11.     MsgBox "txt = " & txt & " , num = " & num
  12.     '  µª®×¬O¡G txt = ¦­À\¦Y¤F¶Ü¡H , num = 100
  13. End Sub

  14. Sub Test1(ByRef txt As String, ByRef num As Integer)   '  ¶Ç§} (¦ì§} Address)
  15.     txt = "«Ü¦n¡AÁÂÁ¡I ¤j®a¥i¦n?"                      '   (Reference)
  16.     num = num - 50
  17. End Sub

  18. Sub Test2(ByVal txt As String, ByVal num As Integer)   '  ¶Ç­È  (¼Æ­È Value)
  19.     txt = "«D±`¦n¡I§B¤÷¨­Åé¦n»ò¡H"
  20.     num = num - 85
  21. End Sub
½Æ»s¥N½X

TOP

¦^´_ 6# mdr0465
  1. Sub Test2(ByVal txt As String, ByVal num As Integer)   '  ¶Ç­È  (¼Æ­È Value)
  2.     txt = "«D±`¦n¡I§B¤÷¨­Åé¦n»ò¡H"
  3.     num = num - 85
  4. End Sub
½Æ»s¥N½X
¤@¯ë¹ê°È¤W°£«D¶·¦P¨B§ó·sÅÜ¼Æ­È (ByRef)¡A§_«h³£¬O«Å§i¦¨¶Ç¤J­È (ByVal)¡G
¥H¤W½d¨Ò§Yµ¥©ó¥­±`²ßºD¨Ï¥Îªº¡G
  1. Sub Test2(txt As String, num As Integer)   '  ¶Ç­È  (¼Æ­È Value)
  2.     txt = "«D±`¦n¡I§B¤÷¨­Åé¦n»ò¡H"
  3.     num = num - 85
  4. End Sub
½Æ»s¥N½X
¦p¦¹»¡©ú¡A©ú¥Õ§_¡H

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-1-28 18:39 ½s¿è

¦^´_ 9# mdr0465
¦b¨ç¦¡¸Ì¤Þ¤J°Ñ¼Æ¦p¬°¶Ç­È¡A«hµL½×¸Ó°Ñ¼Æ¦b¸Ó
¨ç¦¡¸Ì¦p¦óÅܤƳ£¤£·|§ïÅܸӰѼƶǤJ®Éªº¤Þ¤Jªì©l­È¡A
¸Ó½d¨Ò¤º¤§Á|¨Ò¡A¥u¬O§i¶D§A¡Atxt ©Î num ¦b¨ç¦¡¸Ì¤£ºÞ
¥¦«ç»ò²§°Ê³£¤£·|§ïÅܶǤJ·í®Éªºªì©l­È (­ì­È)¡C
¦pªG¥Î¥Õ¸Ü»¡ªº¸Ü¡A´N¦p jackyq  ¤j¤j»¡ªº¡C

TOP

        ÀR«ä¦Û¦b : ¥@¤W¦³¨â¥ó¨Æ¤£¯àµ¥¡G¤@¡B§µ¶¶ ¤G¡B¦æµ½¡C
ªð¦^¦Cªí ¤W¤@¥DÃD