日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

深度講解VBA重要概念:什么是過程

 滿泉ca85upjdlw 2019-04-15

大家好,我們今日繼續(xù)講解VBA代碼解決方案的第109講內(nèi)容:VBA中什么是過程。我的理解,過程就是執(zhí)行某些動作的代碼組合,這些組合是以完成某項(xiàng)任務(wù)為目的。VBA過程分Sub過程和Function過程。前者是通常意義上的過程,后者經(jīng)常稱之為函數(shù)過程。

首先我們分析一下兩者的特點(diǎn):

1 Sub過程:總是以'sub 過程名()'開頭,以'End Sub'結(jié)尾,一個過程就是執(zhí)行某項(xiàng)動作的一套指令,Sub過程不返回運(yùn)行的結(jié)果。在這個過程中需要執(zhí)行的代碼放在中間。格式如下:

Sub 過程名()

代碼 ' 需要在過程中執(zhí)行的代碼

End Sub

要注意的是:過程名后面的括號是必須的,過程可以帶參數(shù),就放置在括號里面。我們看下面的實(shí)際過程舉例:

Sub MyTypeDemo()

Dim sTest As String

Dim i As Integer

sTest = '歡迎你來到這個平臺學(xué)習(xí)VBA!'

For i = 1 To Len(sTest)

Range('A1').Value = Left(sTest, i)

Sleep 200

Next

End Sub

上面的過程名稱是MyTypeDemo,最后以End Sub結(jié)束,中間的語句是一組對象動作的組合。其中的意義不再詳細(xì)的介紹了,之前的文章介紹過。

深度講解VBA重要概念:什么是過程

2 Function過程:總是以'Function 程序名()'開頭,以'End Function'結(jié)尾,和Sub過程的區(qū)別是Function過程有返回的值,值可以是一個值或一個數(shù)組,就像我們的工作表函數(shù),F(xiàn)unction過程也就是我們說的自定義函數(shù)。

格式如下:

Function 函數(shù)名(參數(shù)1, 參數(shù)2, ...) As 數(shù)據(jù)類型

' 需要在函數(shù)中執(zhí)行的代碼

函數(shù)名 = 函數(shù)執(zhí)行后的結(jié)果

End Function

函數(shù)名后面的括號是必須的,函數(shù)通常都帶有參數(shù),放置在括號里面。函數(shù)也可以不帶參數(shù),但這種情況下的函數(shù)通常沒什么意義。

括號后面的 As 數(shù)據(jù)類型,雖然并不是必須的,但是我強(qiáng)烈建議加上。因?yàn)楹瘮?shù)通常都需要有返回值,這個數(shù)據(jù)類型就表示著返回值的數(shù)據(jù)類型。

函數(shù)體最后通常都帶有一條返回值語句,把函數(shù)執(zhí)行的結(jié)果賦值給函數(shù)名,就可以在調(diào)用這個函數(shù)的地方得到這個函數(shù)的執(zhí)行結(jié)果。這個返回結(jié)果的數(shù)據(jù)類型應(yīng)該與函數(shù)名后面As的數(shù)據(jù)類型一致,否則可能會出錯。

在我這個平臺上講解過函數(shù)的概念,如果對于唯一性輸入值value,輸出(或者return)的值也具有唯一性(這種輸入或者輸出的值沒有個數(shù)的限制),那么具有這種變化關(guān)系的輸入和輸出關(guān)系,就稱為輸出是輸入的函數(shù).可見函數(shù)是一個過程。

函數(shù)示例:

Function mysum(n1 as Integer, n2 as Integer) As Integer

Dim s As Integer

s = n1 + n2

mysum = s

End Function

上例中定義了一個名為mysum的函數(shù),它接受兩個類型為Integer的參數(shù),并且返回值是Integer類型。在函數(shù)內(nèi)部計(jì)算了這兩個參數(shù)相加的和,并把這個和作為返回值賦給mysum。可以通過調(diào)用這個函數(shù),并傳遞相應(yīng)的參數(shù),獲得它的返回值。

定義函數(shù)后,就可以在VBA中的過程,或者其它函數(shù),或者在Excel表格中使用這個函數(shù)了。

到今天為止我把對象、屬性、方法和事件過程的概念結(jié)合我自己的理解給大家分享了一遍,其實(shí)讀者完全不必全部記住它們,需要的時候知道在哪里找就行,在我的這個平臺上有很多的文章,每個文章都是一個模塊,可以獨(dú)立的完成某項(xiàng)任。當(dāng)你需要進(jìn)行某項(xiàng)操作的時候,查找一下相關(guān)的模塊,不需要的東西,給它修修枝,剪剪葉,整理整理,一個程序就OK了。真的很簡單,如果你不想在平臺上查找,我這里提供給你資料。有了這些專有的模塊,你的程序會非常的簡單。(我寫程序也是這么寫的)

今日內(nèi)容回向:

1 什么是過程?

2 如何寫代碼程序呢?

    本站是提供個人知識管理的網(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ā)表

    請遵守用戶 評論公約

    類似文章 更多