VBA概念深度講解:什麼是過程

2020-12-16 VBA語言專家

大家好,我們今日繼續講解VBA代碼解決方案的第109講內容:VBA中什麼是過程。我的理解,過程就是執行某些動作的代碼組合,這些組合是以完成某項任務為目的。VBA過程分Sub過程和Function過程。前者是通常意義上的過程,後者經常稱之為函數過程。

首先我們分析一下兩者的特點:

1 Sub過程:總是以「sub 過程名()」開頭,以「End Sub」結尾,一個過程就是執行某項動作的一套指令,Sub過程不返回運行的結果。在這個過程中需要執行的代碼放在中間。格式如下:

Sub 過程名()

代碼 ' 需要在過程中執行的代碼

End Sub

要注意的是:過程名後面的括號是必須的,過程可以帶參數,就放置在括號裡面。我們看下面的實際過程舉例:

Sub MyTypeDemo()

Dim sTest As String

Dim i As Integer

sTest = "歡迎你來到這個平臺學習VBA!"

For i = 1 To Len(sTest)

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

Sleep 200

Next

End Sub

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

2 Function過程:總是以「Function 程序名()」開頭,以「End Function」結尾,和Sub過程的區別是Function過程有返回的值,值可以是一個值或一個數組,就像我們的工作表函數,Function過程也就是我們說的自定義函數。

格式如下:

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

' 需要在函數中執行的代碼

函數名 = 函數執行後的結果

End Function

函數名後面的括號是必須的,函數通常都帶有參數,放置在括號裡面。函數也可以不帶參數,但這種情況下的函數通常沒什麼意義。

括號後面的 As 數據類型,雖然並不是必須的,但是我強烈建議加上。因為函數通常都需要有返回值,這個數據類型就表示著返回值的數據類型。

函數體最後通常都帶有一條返回值語句,把函數執行的結果賦值給函數名,就可以在調用這個函數的地方得到這個函數的執行結果。這個返回結果的數據類型應該與函數名後面As的數據類型一致,否則可能會出錯。

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

函數示例:

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

Dim s As Integer

s = n1 + n2

mysum = s

End Function

上例中定義了一個名為mysum的函數,它接受兩個類型為Integer的參數,並且返回值是Integer類型。在函數內部計算了這兩個參數相加的和,並把這個和作為返回值賦給mysum。可以通過調用這個函數,並傳遞相應的參數,獲得它的返回值。

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

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

今日內容回向:

1 什麼是過程?

2 如何寫代碼程序呢?

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    本文主要效果如下圖:處理數據的過程在 Python 中進行。輸入條件,輸出結果的過程在 Vba 進行。可以隨意修改匯總方式(求和、平均等)與匯總欄位。如下圖:數據大致表示每個部門每個月的銷售情況Units Sold 列是銷售額本文所用到的 pandas 技巧都在之前的章節已有詳細介紹,因此本文只對重點細節做講解
  • 原創書籍 |《VBA從入門到放棄》
    單擊文末「閱讀原文」可自動跳轉📺Part.1.A.what-is-vba(認識VBA)(一)我怎麼認識VBA的?同時,在你向其他同學講解數學題的時候,也是一個檢驗、分享、提升的過程,這個過程會使你的學習吸收率達到最佳,這也是我寫本書的初心。
  • Excel vba 模擬工業過程監控,閥門動態過程控制
    工業控制過程中,對於閥門的控制有比較嚴格的方法,也是十分重要的一個生產過程。Excel 可以模擬這一過程,雖然沒有實際意義,但在展示生產過程方面,還有一個教學意義。如果,多點耐心,完全可以實現整個工業生產過程,但是費力沒結果。所以,這裡就不深入研究具體實現後有什麼意義了。打開排液閥,分液罐液位下降。整個示例中,可實現閥門狀態過程。其實也沒有意義,可以做為PPT匯報工作用,製作過程也不複雜。
  • Excel vba 模擬工業過程監控,液位變化情況
    文/江覓易見一直想做一個動態效果,但找不到好的方法,可能是對於vba認識不足,沒有實現。在一個偶然情況下,發現可以模擬工業動態效果,做出來還是有一點點欣賞成分。雖達不到流暢的動畫效果,但對於實現動態過程模擬,還是可以接受的。
  • Excel VBA從新手到高手系列課程
    三、   教學目的:本課程的目的和任務是使學員掌握Excel VBA的基本概念,基本原理及技術應用,讓學員在VBA應用方面形成知識體系,培養學員應用VBA解決實際問題的能力。四、 教學內容:本課程分三部分的內容,新手篇-進階篇-高手篇。教學由易到難,循序漸進,結合工作實例,易學易用。
  • VBA基礎概念-對象、屬性、方法
    Sub 對象屬性與方法()'什麼是對象'「對象」是通過VBA控制的東西,可以理解為名詞'例如range("A1:A4").ClearContents ,清除A1:A4的內容'例如常用的copy複製、select選中,save保存,close關閉等方法'常用的對象'aplication對象:最外層的vba
  • 分式概念第1課時講解,總結的很全面
    分式概念第1課時講解,總結的很全面在初一的時候我們了解了整式,我們知道整式包括單項式和多項式,除了整式之外在初中我們還要研究分式,這節課我們就來研究一下分式概念第1課時,助你理解課本。首先我們來看一下分式概念的學習目標:了解分式的概念,並能初步判斷分式有意義的條件。那麼到底什麼是分式呢?接下來我們來學習今天的新課。從上面的學習中,我希望同學們知道:分式是分母中含有字母的式子,給你一個代數式讓你判斷它是整式還是分式,就看字母中是否含有字母即可。
  • vba第十八課
    vba第十八課調用工作表函數在vba中我經常會對工作表的數據進行一些運算,雖然通過代碼進行循環或判斷也可以完成,但是通vba調用函數可以更簡單更直接進行運算提高代碼的運行效率,比如countif、sumif等需要進行判斷統計和求和的運算。
  • 維修任務管理,vba編程如何構建任務管理過程
    No.1 任務管理任務管理是生產過程中的一個很重要的管理過程。在大量的維修任務需要分派的時候,系統的任務管理就帶給我們,很方便的操作。也會使得在工作當中不會變得一團亂麻,而且,任務越多,效率越高。下面介紹一下任務管理過程,如何利用vba代碼來構建一個過程方法。首先要製作一個任務表,信息有任務名稱、任務時間、執行人、設備、單元名稱、遺留問題等等欄位。內容根據不同的工作需求而定。可參考下圖製作自己的任務記錄表。No.2 發布任務通過上圖,可看到,所有的欄位列表也顯示在發布任務操作頁裡了。
  • VBA重要概念解析:什麼是對象、如何引用對象
    大家好,我們今日繼續講解VBA代碼解決方案的第106講內容:什麼是對象、如何引用對象。不知不覺中講VBA已經很長的時間了,很多的朋友提了很多有意義的問題,在梳理這些問題的時候,發現一些朋友對VBA的基礎知識還不是很完善,當然基礎知識這裡我不會系統去講解的,但關鍵的理論我要再給大家講一下,比如有的朋友問到:「老師,請教一個問題,在寫VBA語句中哪些需要插入模塊,哪些在對象中直接編寫VBA語句呢?」這個問題其實就是對於一個概念的理解問題。
  • vba字典功能介紹,Excel辦公效率就這麼高
    vba字典功能十分有用,如果對其它編程有一定了解,那麼對於字典也不陌生,它代表著高效和強大的數據處理功能。字典功能介紹那麼如何在vba中運用字典功能?創建之後,它還是個空字典,就是說你買了一臺電腦,裡面什麼軟體也沒有安裝,目前這臺電腦毫無用處,跟一堆廢鐵的區別在於,它沒有放在垃圾桶裡。接下來就是給字典添加各種鍵和值。
  • Excel VBA入門教程 1.6 過程和函數
    Set functionName = xxxxxx調用過程:調用 Sub 過程與 Function 過程不同。調用 Sub 過程的是一個獨立的語句,而調用函數過程只是表達式的一部分。調用 Sub 過程有兩種方法:以下兩個語句都調用了名為 ProcExcel 的 Sub 過程。Call ProcExcel (FirstArgument, SecondArgument)ProcExcel FirstArgument, SecondArgument注意當使用 Call 語法時,參數必須在括號內。
  • 什麼是函數,什麼是公式,兩者的概念講解及比較
    無論函數公式的書寫,還是實例的講解,不會拖泥帶水,更不會牽強附會,每個例子會自成體系,以供隨到有緣的朋友學習交流。今天將推出幾組非常關鍵的定義,以便大家更好地理解我文章中的內容。今日給大家推出的內容是:什麼是函數,什麼是公式,兩者的概念講解及比較。有很多的讀者私下問我:什麼是函數啊?什麼是公式啊?
  • vba編程,如何找出計算機ID,磁碟空間信息,一個函數的事情
    NO.1vba編程中,有時候需要獲取計算機系統信息,比如計算機名稱、ID、磁碟容量、磁碟類型等等,那麼如何來實現這個功能呢?下面講一下,關於獲取本地信息的一個簡單方法。redirectedfrom=MSDNNO.2本節內容相對比較難,需要掌握的知識有一些深度,其代碼可能不是十分好理解。如果只是拿來用一下,直接用就可以,如果要更多地掌握其核心內容,可能要花費不少時間,而且還必須對作業系統有一個十分熟悉的認識。
  • 如果你是學習Excel的朋友,對VBA這個應該概念不陌生吧?
    對了,還要告訴大家,我也是初學者,不是高手,如果有什麼說得不對的,希望大家及時指出。我的目的並不是教學,而是期望創造一個學習Excel VBA的氛圍! 記住一個共同的目標——掀開那層神秘的面紗,看看VBA的真實面目。首先我們要學習什麼是VBA?
  • 簡單易懂的講解深度學習(入門系列之六)
    接下來簡單回顧下深度學習的發展史!1958年Frank Rosenblatt提出感知機的概念。1965年Alexey Grigorevich Ivakhnenko提出了多層人工神經網絡的設想。而這種基於多層神經網絡的機器學習模型,後來被人們稱為「深度學習」。如何給非專業人士講解什麼是深度學習?
  • 如何用VBA代碼添加Form窗體表單,看完全明了,詳細講解
    本節將介紹一下,使用vba代碼添加窗體,然後在窗體上添加控制項,如標籤按鈕等等方法。NO.2vba中 VBComponents集合裡包含了模塊、窗體、類模塊。新建表單後,運行程序什麼也看不到,還需要對表單進行屬性設置。這就是像是蓋一棟大樓,只是做了大樓的一個工程設計,僅僅是立項要蓋這棟大樓,而沒有真正實施蓋樓的過程。所以,名義上的新建了這棟樓,但其並沒有變成實際意義上的大樓。
  • VBA編程理論學習之談
    有些是解決基本應用需求,也有一些是Excel vba基礎的對象以及屬性功能介紹。總的來說,這個月有一些進展,也有一些心得和知識積累。有幾篇比較不錯的文章持續得到展示和瀏覽,說明這方面還是做到了大多數關注。
  • vba第二十一課
    vba第二十一課工作薄運用實例在一些跨工作薄的數據調取數據或多個工作薄中循環調取數據,那麼我們就要熟練掌握工作薄的代碼的書寫,只要運行程序就可以獲得數據,下面看一段代碼例:Dim wk As Workbook