看看VBA的Sub過程和Function過程

      網(wǎng)友投稿 773 2025-04-01

      看看VBA的Sub過程和Function過程

      經(jīng)過前面的一系列文章的示例學(xué)習(xí),我們應(yīng)該已經(jīng)熟悉了Sub過程。通常我們看到的Sub過程的基本形式是:

      Sub 過程名稱()

      [此處放置代碼語句]

      Exit Sub

      End Sub

      這也是我們在編寫大多數(shù)VBA程序時用到的結(jié)構(gòu)。其中:

      過程名稱為編程人員給過程命名的名稱,其命名規(guī)則與變量名稱的規(guī)則相同。在同一模塊中的過程名稱不能同名。

      Sub和End Sub配套出現(xiàn),它們之間構(gòu)成一個完整的程序過程。

      過程中的代碼可以放置ExitSub語句,表示提前退出過程。

      通常,在VBE編輯器中,寫下sub和過程名稱,按下回車鍵后,會自動添加End Sub語句。Sub過程用來執(zhí)行操作,而Function過程可以返回值,創(chuàng)建自定義函數(shù)。Function過程的基本語法形式為:

      Function 過程名稱()

      [此處放置代碼語句]

      [過程名稱= 表達式或值]

      [Exit Function]

      [此處放置代碼語句]

      [過程名稱= 表達式或值]

      End Function

      可以看出,其形式與Sub過程的基本形式相似,只是將關(guān)鍵詞Sub換成了Function。注意:

      在Function過程的代碼語句中,應(yīng)至少有一次把某個確定的值賦值給函數(shù)過程的名稱。

      建議避免使用Excel內(nèi)置函數(shù)名稱、單元格引用、單元格區(qū)域的名稱作為函數(shù)過程的名稱。

      Function過程不能對單元格區(qū)域進行修改,不能執(zhí)行與對象相關(guān)的操作。

      Function過程可以應(yīng)用在工作表公式中,就像Excel的內(nèi)置函數(shù)一樣;Function過程也可以應(yīng)用在VBA代碼中。

      過程代碼中可以放置ExitFunction語句,表示提前退出過程。

      按慣例,方括號表示可選。

      下面的示例代碼統(tǒng)計當前可見工作簿的數(shù)量:

      Function lWkbNum()

      ‘遍歷應(yīng)用程序中的工作簿

      For Each wkb In Application.Workbooks

      ‘如果為可見工作簿則增加1

      If wkb.Windows(1).Visible Then

      lCount = lCount + 1

      End If

      Next wkb

      ‘將結(jié)果賦值給函數(shù)名

      lWkbNum = lCount

      End Function

      就像運用Excel內(nèi)置函數(shù)一樣,在工作表中輸入“=lWkbNum()”,顯示當前已打開的可見工作簿的數(shù)量,如下圖所示。

      圖:在單元格A1中輸入=lwkbnum(),顯示2,即當前打開的可見工作簿數(shù)為2個

      下面的代碼在Sub過程中調(diào)用自定義的lWkbNum函數(shù):

      Sub testlWkbNum()

      MsgBox “當前可見工作簿的數(shù)量為:”& lWkbNum

      End Sub

      運行后顯示如下圖所示的消息框:

      由于之前的一系列文章中都是使用的Sub過程作為的例子,所以本文詳細介紹了Function過程的最基礎(chǔ)知識,給您一個初步的認識。

      不管是Sub過程還是Function過程,都可以帶有參數(shù),F(xiàn)unction過程還可以設(shè)置返回值的類型,我們將在后續(xù)逐步深入這些知識。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:使用設(shè)計模版創(chuàng)建演示文稿(在文稿中創(chuàng)建演示方案)
      下一篇:標顏色的怎么篩選出來(篩選標注顏色)
      相關(guān)文章
      亚洲人成网站观看在线播放| 亚洲欧美成aⅴ人在线观看| 亚洲高清毛片一区二区| 亚洲男人天堂2022| 亚洲videos| 亚洲人和日本人jizz| 亚洲国产成a人v在线| 亚洲成aⅴ人片在线影院八| 亚洲精品在线电影| 亚洲视频一区二区三区| 97久久精品亚洲中文字幕无码| 亚洲国产成人精品不卡青青草原| 亚洲AV无码乱码国产麻豆穿越| 亚洲国产精品SSS在线观看AV| 亚洲国产AV无码专区亚洲AV| 亚洲国产精品乱码一区二区| 亚洲国产精品无码久久久蜜芽| 亚洲无av在线中文字幕| 亚洲动漫精品无码av天堂| 亚洲国产成人一区二区精品区| 久久亚洲国产伦理| 久久久久亚洲AV片无码下载蜜桃| 久久久婷婷五月亚洲97号色| 亚洲电影在线播放| 亚洲91精品麻豆国产系列在线| 亚洲国产视频久久| 亚洲av无码专区在线观看下载 | 久久久无码精品亚洲日韩京东传媒 | 亚洲AV无码专区在线电影成人 | 日韩精品电影一区亚洲| 亚洲国产成人久久一区WWW| 精品亚洲一区二区三区在线播放| 亚洲精品一品区二品区三品区| 好看的电影网站亚洲一区| 日韩精品一区二区亚洲AV观看| 亚洲国产综合第一精品小说| 亚洲精品一二三区| 色噜噜的亚洲男人的天堂| 日韩精品亚洲aⅴ在线影院| 久久久久亚洲Av片无码v| 亚洲乱码日产精品BD在线观看|