久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Excel VBA中傳遞參數(shù)方式byval(副本)和byref(共有變量)

 vba技術(shù)學(xué)習(xí) 2018-10-05


vba 傳遞參數(shù)值時,,分為Byval 和Byref
參數(shù)分為形參和實(shí)參:形參指的是過程名稱中用括號括起來的參數(shù),,實(shí)參指的的是調(diào)用過程中,向過程傳遞的數(shù)據(jù)參數(shù),。可以理解為:形參相當(dāng)于公式中的自變量,,實(shí)參相當(dāng)于使用公式時代入自變量中的具體數(shù)值。

Byref,,地址傳遞參數(shù),,傳遞的是地址,過程操作的是變量的地址;
Byval,,值傳遞參數(shù),,將變量的內(nèi)容復(fù)制了一遍,過程操作的是另外一個變量,,只不過這兩個變量名稱一樣,,值一樣

Vba中,參數(shù)傳遞的默認(rèn)方式是Byref,,因?yàn)楸举|(zhì)想法是對于相同命名的參數(shù),,在系統(tǒng)中采用同一個數(shù)值。


  1. Sub TESTParameter()
  2. Dim A As Integer, B As Integer
  3. A = 1
  4. B = 2
  5. Call AAA(A, B)
  6. Debug.Print A, B
  7. Call BBB(A, B)
  8. Debug.Print A, B
  9. End Sub
復(fù)制代碼


  1. Sub BBB(ByRef A, ByRef B)
  2. A = A + 1
  3. B = B + 1
  4. End Sub
復(fù)制代碼


  1. Sub AAA(ByVal A, ByvalB)
  2. A = A + 1
復(fù)制代碼


其中,,call BBB(A,,B)后,A=2,,B=3
call AAA(A,,B)后,A=1,,B=2


值傳遞,,相當(dāng)于傳的是一個副本,對于副本的操作不影響正本;
地址傳遞,,相當(dāng)于是一個共有變量,,傳的是地址,該變量可以在過程中改變,。
所以,,聯(lián)合編寫程序時,我不希望自己的函數(shù)值受到別人的影響,,通常會設(shè)定要按值傳遞,,值傳遞只是將變量的內(nèi)容復(fù)制一份而已,,函數(shù)進(jìn)行操作的其實(shí)是另一個變量,只是另一個變量的值和傳遞的變量值是相同的,。而地址傳遞是直接把變量的地址傳遞給函數(shù),,這時函數(shù)是直接對原來的變量進(jìn)行操作的。所以值會變化,。

舉例說吧:值傳遞就相當(dāng)于克隆了一個同樣的變量,,操作的是克隆出來的那個,原來的變量沒有變化,,但是地址傳遞是直接對原來的變量進(jìn)行操作,,沒有克隆新的變量。,。,。懂了吧,,,,,
也可以這樣理解:比如要考試了,你有一份復(fù)習(xí)題,,值傳遞就相當(dāng)于別人借你的試卷去復(fù)印,,然后在復(fù)印的那份上面做筆記,而地址傳遞就是別人直接在你原有的試卷上做筆記,,沒有復(fù)印,,所以等你拿回來你會發(fā)現(xiàn)自己的試卷亂七八糟的,,,,這下應(yīng)該懂了哦,。,。。





    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多