Excel VBA入門教程 1.6 過程和函數

2020-12-03 Excel880實戰教學

SubFunction 是VBA提供的兩種封裝體。

  • 利用宏錄製得到的就是Sub
  • Sub 定義時無需定義返回值類型,而 Function 一般需要用 「As 數據類型」 定義函數返回值類型。
  • Sub 中沒有對過程名賦值的語句,而 Function 中有對函數名賦值的語句,一般在函數最後返回值,格式如下:

Set functionName = xxxxxx

  • 調用過程:調用 Sub 過程與 Function 過程不同。調用 Sub 過程的是一個獨立的語句,而調用函數過程只是表達式的一部分。另外,自定義函數並不允許修改工作表和單元格格式 (A UDF will only return a value it won't allow you to change the properties of a cell/sheet/workbook. )。但是,與 Function 一樣,Sub 也可以修改傳遞給它們的任何變量的值。
  • 調用 Sub 過程有兩種方法:以下兩個語句都調用了名為 ProcExcel 的 Sub 過程。

Call ProcExcel (FirstArgument, SecondArgument)ProcExcel FirstArgument, SecondArgument

注意當使用 Call 語法時,參數必須在括號內。若省略 Call 關鍵字,則也必須省略參數兩邊的括號。

1.6.1 Sub 過程

[Private|Public] [Static] Sub 過程名([參數列表 [As 數據類型]]) [語句塊]End Sub' [Private|Public]定義過程的作用範圍' [Static]定義過程是否為靜態' [參數列表]定義需要傳入的參數

調用Sub的方法有三種,使用Call、直接調用和Application.Run

舉個例子:

1.6.2 Function 函數

vba內部提供了大量的函數,也可以通過Function來定義函數,實現個性化的需求。

[Public|private] [Static] Function 函數名([參數列表 [As 數據類型]]) [As 數據類型] [語句塊] [函數名=過程結果]End Function

使用函數完成上面的例子:

參數傳遞

參數傳遞的方式有兩種,引用和傳值。 傳值,只是將數據的內容給到函數,不會對數據本身進行修改。 引用,將數據本身傳給函數,在函數內部對數據的修改將同樣的影響到數據本身的內容。

參數定義時,使用ByVal關鍵字定義傳值,子過程中對參數的修改不會影響到原有變量的內容。 默認情況下,過程是按引用方式傳遞參數的。在這個過程中對參數的修改會影響到原有的變量。 也可以使用ByRef關鍵字顯示的聲明按引用傳參。

Sub St1(ByVal n As Integer, ByRef range) ...Other codeEnd SUb

神器放送

VBA編程神器 VBA代碼助手 可以極大提高編程速度,降低編程門檻歡迎使用

私信回復 代碼助手 即可獲得

更多功能請大家探索

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • WPS教程:excel新手入門VBA功能使用介紹
    Excel教學:今天和大家分享一下excel中vba的使用方法入門,相信很多使用該軟體的朋友們對此都很感興趣,下面就和大家來分享一下,希望可以幫助到大家。工具/原料電腦:組裝臺式機系統:windows 10專業版版本:WPS Office 2019 PC版方法/步驟1.首先,我要知道商品的單價是12.5,在D1單元格輸入【商品單價】,在D2單元格輸入12.52.接著我們打開vb界面,在常用工具欄上執行:開發工具--visual basic。
  • Vba第四十三課
    Vba第四十三課關於vba操作工作表、數組、字典等所有的基本功能如果大家仔細去學習、認真敲代碼的話,數據分析應該是入門,當然vba作vb的分支語言,在office的平臺上去運行還是大有作為的,更深層次的功能都相當不錯,而前面的課程所講的功能基本可以定義為少量數據的清洗運算功能,要達到數據分析的水平是遠遠不夠的,比如操作資料庫、自定義函數等等都是數據分析的一些必要技巧
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    本文主要效果如下圖:處理數據的過程在 Python 中進行。輸入條件,輸出結果的過程在 Vba 進行。可以隨意修改匯總方式(求和、平均等)與匯總欄位。可以隨意修改匯總欄位和過濾條件。所有的修改都無需改動代碼。數據源文件與顯示文件是獨立分開的。
  • excel if函數的詳細教程(基本用法和嵌套用法)
    本篇將介紹excel if函數的詳細教程,有興趣的朋友可以了解一下!excel是我們工作中很常用的表格製作工具,它不僅僅只是用來製作表格,還能幫助我們處理數據(比如:運算、篩選、排序等等)。今天小編要介紹的是excel if函數的詳細用法,希望對大家有所幫助!
  • excel圖文教程:深入了解數據分析函數FREQUENCY
    但是這樣的一個函數卻並不是每一個人都了解或者會用,實在有一些可惜了,其實函數無所謂「簡單」和「複雜」,難者不會,會者不難,往往不會使用的函數,是同學你還沒有學到而已,那麼今天我們就跟著作者E圖表述,對這個函數系統地學習一下吧。學習更多技巧,請收藏部落窩教育excel圖文教程。
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    注意看第3和4行數據,他們是並列第3名。並且後面的人是從第5名開始。找出低水平學生現在找出低於所在班級平均分的同學吧。先按班級計算平均分,然後把平均分填到每一行上。df.groupby('班級')['總分'] 就不用說了,與上面的排名是一樣的意思。.transform('mean') ,表示每組求平均。結果是每組都有一個分數。
  • 如何實現在WORD中打開EXCEL文件
    這種操作雖然有很多的方法,本節利用的兩種方案也或許不符合你的編程習慣,但這沒有關係,我的教程就是把我認為比較好的應用介紹給大家。讀者可以嘗試。1 利用OPEN語句完成例如,我們要實現上述界面中的第一個按鈕「打開報表」。當我們的報告讀到這裡時,我們只需點擊一下這個按鈕就可以打開我們事先設置好的文件。
  • EXCEL表格詳解vlookup第五彈-VBA自己寫myLookup函數
    我們在前四彈詳細介紹了vlookup函數,以及vlookup函數實現不了後,使用index為主函數加match,small,if等函數的組合拳來實現複雜的條件查找。由於大家從事的工作領域不同,有時候還需要實現更加複雜的查找,這時往往在幾個函數之間相互切換,相互套用,難免給一些相對固定的查找帶來不必要的麻煩。下面我就手把手地帶大家寫一個自己的函數myLookup() ,使用這一個函數來實現前四彈的所有功能。
  • excel編程系列基礎:VBA常用的操作對象RANDE
    前段時間和大家提到了讓excel自殺的VBA代碼,引起了不少小夥伴的討論,都說想看部落窩分享更多關於excel中VBA的知識,別催別催,這不就來了嗎。學習更多技巧,請收藏部落窩教育excel圖文教程。【正文】VBA在EXCEL中本質上是對於操作對象的操作,是對被操作對象的各種屬性和方法的運用,將日常我們需要手工操作或者函數引用的內容,編輯成VBA可以識別的語言,在觸發條件下實現自動化運行的過程。下面我們就來介紹幾種「RANGE(單元格區域)」時常會用到的操作。
  • Excel VBA和文件夾-1.5遍歷文件夾並打開
    前景提要再上一篇的時候,我們知道如何通過vba打開指定的excel文件了,但是在實際的工作中,我們發現情況並沒有我們想像的那麼簡單,比方說要做公司日報匯總了,恰好今年行業市場不錯,業績也挺好,公司也是招募了不少的人手,人多好辦事嘛,但是呢,需要您匯總報表數據的時候,你會發現,一個文件夾有好多文件
  • Win10上使用python3處理excel文件教程
    引言:   最近有一系列的excel文件需要處理,準備用python來處理一下。  正文:  同門師妹將這個問題拋給我的時候,其實我可以選擇c++、python、vba等處理,但是c++每次修改都需要重新編譯,vba編程用不能學到什麼,最後選擇python進行嘗試,因為python是解釋型語言,修改即可運行,很方便。
  • 工作中為什麼有必要學點VBA
    基本語法源自VB語言,和微軟的office辦公套件的內置函數完全兼容,現在它主要用於Microsoft Office應用程式,如Excel,Word和Access。02VBA的應用可能有人會說了,excel有非常豐富的內置函數庫,能滿足大多數場景的需要,VBA就沒必要學了吧,也對也不對,濤哥有個專輯專門介紹這些常用函數的使用方法,確實,對於簡單的場景或者說對於大多數對excel了解不深的人來說
  • excel編程系列基礎:認識VBA的編輯器VBE
    VBA實戰入門教程第5篇,我們將從九九乘法表開始和結束今天的教程。之中,我們會認識VBE,也就是VBA代碼的編輯器。VBE的基本概念、打開方式,以及它的布局和主要功能,它們很簡單,但我們需要掌握。你可以認為這篇教程是我們繼續學習VBA前的一次快樂休閒。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • excel函數應用技巧:那些名不副實的函數列舉
    說到「廢柴」一詞,相信小夥伴們很難把它和excel中各類神通廣大的函數聯繫在一起。但是隨著excel版本的不斷更新,不少函數逐漸被取代、淘汰,我們把這樣的函數稱為「廢柴」函數。學習更多技巧,請收藏部落窩教育excel圖文教程。
  • excel函數應用技巧:哪種還貸方式更划算-本息變化過程
    房貸有等額本金和等額本息兩種還款方式。等額本金還款,每月還的金額不一致,第一月最多,以後逐月減少;等額本息還款,每月還的金額一樣。哪中划算?今天我們將用PMT()函數、PPMT()函數、IPMT()函數、CUMIPMT()函數、CUMPRINC()函數來帶大家了解貸款的那些事!學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • 四句話讓你搞清楚,Excel中函數與Excel VBA中函數不同
    Excel中我們經常會用到函數,其實ExcelVBA中也有函數。他們之間有什麼區別和聯繫,搞懂下面四句話就知道了。可以用以下語句,以下代碼就是顯示1,2,3的和是多少,PrivateSub CommandButton5_Click()MsgBoxApplication.WorksheetFunction.Sum(1, 2, 3)EndSub當然也可以省略中間的
  • excel動態圖表:一看就會的動態圖表入門篇
    小編有話說:小編力推這篇教程,大家都一定要看看,作者寓教於學,將枯燥無味的excel教程,寫出了武林大會的感覺,相信很多小說迷會為之瘋狂吧!這篇教程是動態圖表的入門篇,知識點並不難,但是在工作中卻非常有用,大家就當做是在讀武林小說來學習這篇教程吧!
  • 用excel製作文件管理器,所有版本皆可使用
    Hello,大家好,之前跟大家分享了使用excel中的power query功能製作一個文件管理器,但是很多分析反應自己的excel版本不夠高,無法使用,今天就跟大家分享如何使用宏表函數製作文件管理器,他也是可以實現文件刷新的,這個的操作也不難,下面就讓我們來看下他是如何設置的一、什麼是宏表函數以及FILES函數
  • excel表格中乘法函數/公式的詳細介紹
    本篇將介紹excel表格中乘法函數/公式的詳細教程,有興趣的朋友可以了解一下!一、前言excel是我們工作中很常用的一款表格製作工具,它不僅僅只是用來製作表格,它還能對表格中的數據進行處理(如:排序、運算等)。今天小編要介紹的是excel表格中的乘法函數(乘法公式),excel乘法公式在我們工作中用的也算比較多吧!所以小編在這就分享一下它的使用教程,希望能幫助大家!