《大學(xué)信息技術(shù)》教學(xué)課件-第7章-VBA程序設(shè)計基礎(chǔ)_第1頁
《大學(xué)信息技術(shù)》教學(xué)課件-第7章-VBA程序設(shè)計基礎(chǔ)_第2頁
《大學(xué)信息技術(shù)》教學(xué)課件-第7章-VBA程序設(shè)計基礎(chǔ)_第3頁
《大學(xué)信息技術(shù)》教學(xué)課件-第7章-VBA程序設(shè)計基礎(chǔ)_第4頁
《大學(xué)信息技術(shù)》教學(xué)課件-第7章-VBA程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

〔Windows7+Office2021〕大學(xué)信息技術(shù)〔Windows7+Office2021〕大學(xué)信息技術(shù)1第7章VBA程序設(shè)計根底7.1VBA入門7.2VBA根底知識7.3VBA條件與循環(huán)語句7.4VBA過程與函數(shù)7.5Excel2021VBA綜合應(yīng)用實例第7章VBA程序設(shè)計根底7.1VBA入門VBA入門7.1.1添加Excel2021“開發(fā)工具〞選項卡7.1.2第一個VBA程序VBA入門7.1.1添加Excel2021“開發(fā)工具〞3使用Excel2021VBA,就要用到Excel2021的“開發(fā)工具〞選項卡。翻開Excel2021,單擊“文件〞選項卡,在展開的列表中選擇“選項〞選項,翻開“Excel選項〞對話框。添加“開發(fā)工具〞選項卡使用Excel2021VBA,就要用到Excel202Excel2021“開發(fā)工具〞選項卡由“代碼〞“加載項〞“控件〞“XML〞“修改〞等功能組構(gòu)成,單擊“代碼〞組中的“VisualBasic〞按鈕,翻開“MicrosoftVisualBasicforApplications〞窗口,即可編寫VBA代碼了。Excel2021“開發(fā)工具〞選項卡由“代碼〞“加載項〞“翻開“MicrosoftVisualBasicforApplications〞窗口選擇“插入〞→“模塊〞選項,創(chuàng)立一個新模塊,在模塊中輸入程序代碼運行程序,顯示計算結(jié)果翻開“MicrosoftVisualBasicfor模塊中的過程也稱宏,單擊工具欄中的按鈕,默認運行焦點所在的宏,如果宏沒有得到焦點〔或沒有翻開〕,那么翻開“宏〞對話框,選擇要運行的宏。如果“MicrosoftVisualBasicforApplications〞窗口中沒有顯示工程資源管理器,可依次選擇“視圖〞→“工程資源管理器〞選項翻開工程資源管理器。工程資源管理器中包含VBA工程的所有資源,其中第1個新插入模塊的名稱默認為“模塊1〞。模塊中的過程也稱宏,單擊工具欄中的按鈕,默認運行焦點所在的延時文字VBA根底知識7.2.1常量、變量、表達式、賦值語句7.2.2輸入與輸出7.2.3注釋延時文字VBA根底知識7.2.1常量、變量、表達式、賦值8常量是在程序運行過程中其值不變的量。VBA最常用的常量類型有數(shù)值型和字符型,數(shù)值型常量用于數(shù)值計算,如1,,?100等;字符型常量〔也稱字符串〕用雙引號引起來,用于表示文本信息,如“河北〞“唐山〞等。變量是指程序運行過程中其值可以改變的量。VBA最常用的變量類型有數(shù)值型和字符型。變量名可以包含字母和數(shù)字,但是必須以字母開頭。Excel2021VBA不區(qū)分字母大小寫且支持漢字。常量是在程序運行過程中其值不變的量。VBA最常用的常量類型有表達式是將常量、變量、函數(shù)用運算符連接起來的式子。常用的數(shù)值運算符有加、減、乘、除和乘方等表達式的計算根據(jù)運算符的優(yōu)先級從高到低依次執(zhí)行。算術(shù)運算符的優(yōu)先級和根本四那么運算法那么一致,先乘除后加減。對于一個運算量兩側(cè)同優(yōu)先級的運算符,按結(jié)合律方向進行。算術(shù)運算符的結(jié)合律皆為“左結(jié)合性〞,即同優(yōu)先級算術(shù)運算符按“自左向右〞方向進行計算。表達式是將常量、變量、函數(shù)用運算符連接起來的式子。常用的數(shù)值賦值語句給變量賦值,可以采用賦值號“=〞,其一般形式如下:例如:賦值號與數(shù)學(xué)上的等號是不同的概念。例如,A3=A3+10,稱為輾轉(zhuǎn)賦值,用于累加操作。賦值語句例如:賦值號與數(shù)學(xué)上的等號是不同的概念。例如,A3=通常情況下,一個程序包括輸入、計算和輸出3個局部。VBA的輸入和輸出可使用輸入函數(shù)與輸出函數(shù)完成。輸入函數(shù)Inputbox()的格式為:Inputbox([提示],[標題],[初始值])其中,第3個參數(shù)可以省略。該函數(shù)的功能為翻開對話框,用于輸入數(shù)據(jù)。輸出函數(shù)Msgbox()的格式為:Msgbox(參數(shù))其中,參數(shù)可以是常量、變量或表達式。該函數(shù)的功能為翻開對話框,顯示結(jié)果。通常情況下,一個程序包括輸入、計算和輸出3個局部。VBA的輸【例】編寫程序計算圓的面積,實現(xiàn)輸入半徑,計算并顯示面積。運行程序,翻開“輸入〞對話框,編輯框中默認值為1。輸入半徑〔如5〕,單擊“確定〞按鈕,翻開輸出對話框,顯示圓面積。程序代碼如下:【例】編寫程序計算圓的面積,實現(xiàn)輸入半徑,計算并顯示面積VBA可以使用Range()函數(shù)將計算結(jié)果輸出到單元格中,其一般形式為:Range(單元格名稱).Value=表達式“Range(單元格名稱)〞表示當前工作表的指定單元格對象,“Range(單元格名稱).Value〞表示指定單元格的值。例如,將運算結(jié)果S的值輸出到A1單元格,可用以下代碼實現(xiàn):Range("A1").Value=SRange()可以表示一個單元格對象,也可以表示一個區(qū)域?qū)ο?。例如,Range(“A1〞)表示A1單元格,Range(“A1:A10〞)表示A1:A10單元格區(qū)域,Range(“A:A〞)表示A列。VBA可以使用Range()函數(shù)將計算結(jié)果輸出到單元格中,其注釋是用來說明程序中某些語句的功能和作用,增加程序的可讀性。在編寫程序時要養(yǎng)成添加注釋的習(xí)慣,以方便人們閱讀和修改程序。VBA的注釋以單引號“'〞開始,這種注釋可以單獨占一行,也可以出現(xiàn)在一行中其他內(nèi)容的右側(cè)。例如:S=R*R*3.14 '計算面積,賦給S程序運行時不執(zhí)行注釋語句。注釋是用來說明程序中某些語句的功能和作用,增加程序的可讀性。VBA條件與循環(huán)語句7.3.1條件語句7.3.2循環(huán)語句VBA條件與循環(huán)語句7.3.1條件語句7.3.2循環(huán)16條件語句是通過判斷條件是否成立而選擇是否執(zhí)行指定的語句。條件語句中使用關(guān)系運算符和邏輯運算符來判斷條件。關(guān)系運算符又稱比較運算符,用于比較運算符兩側(cè)的值,比較的結(jié)果是一個布爾值,即True或False。1.關(guān)系運算符條件語句是通過判斷條件是否成立而選擇是否執(zhí)行指定的語句。條件邏輯運算符包括And〔與〕、Or〔或〕、Not〔非〕3種。2.邏輯運算符例如,判斷a的值是否在c和b之間,可用表達式a>cAnda<b表示。邏輯運算符包括And〔與〕、Or〔或〕、Not〔非〕3種。23.條件語句VBA中的條件語句主要有If語句和SelectCase語句兩種。下面主要介紹If語句。If語句的最簡單形式如下:If語句的執(zhí)行過程是:如果判斷條件為真,執(zhí)行語句塊,否那么直接執(zhí)行If語句下面的語句。3.條件語句VBA中的條件語句主要有If語句和Select3.條件語句【例】編寫程序計算商品銷售額,要求輸入銷售數(shù)量x,輸出銷售額y,計算公式如下:程序代碼如下:3.條件語句【例】編寫程序計算商品銷售額,要求輸入銷售數(shù)3.條件語句程序運行結(jié)果。例如,輸入銷售數(shù)量20,輸出銷售額200。VBA還提供了If…Then…Else語句,其一般形式如下:上述語句的執(zhí)行過程是:當判斷條件為真時,執(zhí)行語句塊1,否則執(zhí)行語句塊2。3.條件語句程序運行結(jié)果。例如,輸入銷售數(shù)量20,輸出銷售額3.條件語句【例】用If…Then…Else語句改寫上個例題中的代碼。程序代碼如下:3.條件語句【例】用If…Then…Else語句改寫上個例題DOWhile…Loop語句的一般形式如下:上述語句的作用是:當判斷條件為真時,執(zhí)行循環(huán)體;接著再次判斷條件,如果為真,繼續(xù)執(zhí)行循環(huán)體;如此反復(fù),直到判斷條件為假時結(jié)束循環(huán),執(zhí)行Loop后面的語句,1.DOWhile…Loop語句DOWhile…Loop語句的一般形式如下:上述語句的作用【例】編寫程序,求S=1+2+3+…+100的值。1.DOWhile…Loop語句這是一個累加的問題,需要先后將100個數(shù)相加。要重復(fù)進行100次加法運算,因此,可以用循環(huán)語句來實現(xiàn)。重復(fù)執(zhí)行循環(huán)體100次,每次加一個數(shù)。繼續(xù)分析發(fā)現(xiàn)每次累加的數(shù)是有規(guī)律的,后一個數(shù)是前一個數(shù)加1。因此,只需在加完上一個數(shù)N后,使N加1就可得到下一個數(shù)。程序代碼如下:程序運行結(jié)果【例】編寫程序,求S=1+2+3+…+100的值。1.D當知道需要重復(fù)運行多少次語句塊時,可以使用For…Next語句,其一般形式如下:初值指的是循環(huán)開始的值,終值指的是循環(huán)結(jié)束的值;判斷循環(huán)變量的值,如果在初值和終值之間,那么執(zhí)行循環(huán)體;然后循環(huán)變量每運行到Next語句后會自動加1,直至循環(huán)變量超出了初值到終值這個范圍,循環(huán)結(jié)束。2.For…Next語句當知道需要重復(fù)運行多少次語句塊時,可以使用For…Next語【例】用For…Next語句改寫例7-4中的代碼。程序代碼如下:使用條件語句和循環(huán)語句時,建議使用縮進形式,方便閱讀。循環(huán)中還可以包含循環(huán),即循環(huán)嵌套,還可以包含跳出循環(huán)的語句,詳細內(nèi)容請參考相關(guān)幫助文件。2.For…Next語句【例】用For…Next語句改寫例7-4中的代碼。程序代【例】計算圓的面積,要求編寫兩個Sub過程,其中一個用于計算圓的面積,另一個用于顯示結(jié)果。2.For…Next語句程序代碼如下:程序運行結(jié)果【例】計算圓的面積,要求編寫兩個Sub過程,其中一個用于VBA過程與函數(shù)7.4.1Sub過程7.4.2Function函數(shù)7.4.3錄制宏VBA過程與函數(shù)7.4.1Sub過程7.4.2Fun28VBA代碼有兩種組織形式,一種是Sub過程,另一種是Function函數(shù)。Sub過程是構(gòu)成程序的一個模塊,用來完成一個相對獨立的功能??梢詫ub過程分為不帶參數(shù)的和帶參數(shù)的兩種。1.不帶參數(shù)的Sub過程過程的調(diào)用形式如下:不帶參數(shù)的Sub過程,其一般形式如下:VBA代碼有兩種組織形式,一種是Sub過程,另一種是Func2.帶參數(shù)的Sub過程帶參數(shù)的Sub過程,其一般形式如下:過程的調(diào)用形式如下:形參即形式參數(shù),用于調(diào)用過程和被調(diào)過程之間的數(shù)據(jù)傳遞,故使用變量;實參即實際參數(shù),可以使用常量、變量或表達式。帶參數(shù)的過程,在調(diào)用時把實參傳遞給形參。在形參前面可帶修飾符,其中,ByVal表示值傳遞,ByRef表示引用傳遞;值傳遞,將實參的值傳遞給形參,是單向傳遞;引用傳遞,實參必須是變量,將實參的值傳遞給形參,過程調(diào)用結(jié)束后,又將形參的值反向傳遞給實參變量。2.帶參數(shù)的Sub過程帶參數(shù)的Sub過程,其一般形式如下:過Function函數(shù)〔也稱自定義函數(shù)〕與Sub過程類似,其一般形式如下:需要說明以下幾點:〔1〕Function函數(shù)可以不帶參數(shù)?!?〕如果想強制退出函數(shù),可以在需要的位置加上“ExitFunction〞語句?!?〕必須把計算結(jié)果賦給函數(shù)名,作為函數(shù)的返回值。函數(shù)的調(diào)用形式如下:Function函數(shù)〔也稱自定義函數(shù)〕與Sub過程類似,其一【例】用Function函數(shù)改寫上個例題中的代碼。程序代碼如下:【例】用Function函數(shù)改寫上個例題中的代碼。程序代Function函數(shù)也可以作為Excel函數(shù)使用。例如,在當前工作表的A1單元格中輸入“=計算圓面積(5)〞,Excel會自動調(diào)用“計算圓面積(ByValR)〞函數(shù),此時,該單元格顯示“78.5〞VBA除了可以自定義函數(shù)外,自身的函數(shù)庫也提供了豐富的函數(shù)集。例如,平方根函數(shù)sqrt(),絕對值函數(shù)abs()等,詳情請參考相關(guān)書籍。Function函數(shù)也可以作為Excel函數(shù)使用。例如,在當保存在模塊中的Sub過程也稱為宏,錄制宏就是把一組Excel操作轉(zhuǎn)換為代碼的過程。單擊“開發(fā)工具〞選項卡“代碼〞組中的“錄制宏〞按鈕,翻開“錄制新宏〞對話框。在“錄制新宏〞對話框中輸入宏名,如“輸入數(shù)據(jù)〞,單擊“確定〞按鈕開始錄制,在Excel工作表中進行一系列操作。單擊“開發(fā)工具〞選項卡“代碼〞組中的“停止錄制〞按鈕,結(jié)束宏的錄制。保存在模塊中的Sub過程也稱為宏,錄制宏就是把一組Excel單擊“開發(fā)工具〞選項卡“代碼〞組中的“VisualBasic〞按鈕,翻開“MicrosoftVisualBasicforApplications〞窗口。在“MicrosoftVisualBasicforApplications〞窗口的工程資源管理器中,雙擊“模塊1〞即可查看所生成的代碼??梢钥闯?,結(jié)束宏的錄制后,在模塊中新建了一個Sub過程,過程中包含一組Excel操作命令,運行該過程〔宏〕相當于執(zhí)行一組Excel操作命令。單擊“開發(fā)工具〞選項卡“代碼〞組中的“VisualBasiExcel2021VBA綜合應(yīng)用實例Excel2021VBA36【例】翻開本書配套素材“素材與實例〞→“第7章〞→“各科成績單.xlsx〞文件,計算Sheet1工作表的“總評〞列〔計算方法:如果語文、數(shù)學(xué)和外語都大于或等于60,值為“合格〞;否那么值為“不合格〞〕,Sheet1工作表數(shù)據(jù)如下圖?!纠糠_本書配套素材“素材與實例〞→“第7章〞→“各科單擊“開發(fā)工具〞選項卡“代碼〞組中的“VisualBasic〞按鈕,翻開“MicrosoftVisualBasicforApplications〞窗口。選擇“插入〞→“模塊〞選項,創(chuàng)立一個新模塊,在模塊中輸入如下程序代碼。單擊“開發(fā)工具〞選項卡“代碼〞組中的“VisualBasi在E2單元格中輸入“=總評(B2,C2,D2)〞,然后利用填充柄填充E3~E51單元格,完成“總評〞列的計算。計算結(jié)果如下圖。在E2單元格中輸入“=總評(B2,C2,D2)〞,然后利用填【例】新建名為“成績分析.xlsm〞的文件,設(shè)計效果如下圖。實現(xiàn)如下功能:在A列中輸入成績,單擊“成績分析〞按鈕,在相關(guān)單元格中顯示各個成績分組的人數(shù)和百分率、最高分、最低分和平均分?!纠啃陆麨椤俺煽兎治?xlsm〞的文件,設(shè)計效果如下圖。步驟1新建名為“成績分析.xlsm〞的文件,在Sheet1工作表中輸入相關(guān)文字并設(shè)置邊框;將F5:F10單元格區(qū)域格式設(shè)置為“百分比〞類型,并保存兩位小數(shù);將D13:F13單元格區(qū)域格式設(shè)置為“數(shù)值〞類型,并保存兩位小數(shù)。步驟2單擊“開發(fā)工具〞選項卡“控件〞組中的“插入〞按鈕,在展開的列表中選擇“按鈕〞選項,如下圖。步驟1新建名為“成績分析.xlsm〞的文件,在Shee步驟3在D2單元格中畫置一個命令按鈕,翻開“指定宏〞對話框,在“宏名〞編輯框中輸入“成績分析〞,單擊“新建〞按鈕〔見圖7-20〕,創(chuàng)立“成績分析〞過程,并翻開“MicrosoftVisualBasicforApplications〞窗口及其模塊子窗口。步驟3在D2單元格中畫置一個命令按鈕,翻開“指定宏〞對步驟4在“MicrosoftVisualBasicforApplications〞窗口下的模塊子窗口中編寫“成績分析〞過程代碼。程序代碼如下:步驟4在“MicrosoftVisualBasic《大學(xué)信息技術(shù)》教學(xué)課件-第7章--VBA程序設(shè)計基礎(chǔ)《大學(xué)信息技術(shù)》教學(xué)課件-第7章--VBA程序設(shè)計基礎(chǔ)步驟5在Sheet1工作表中,右擊新建的按鈕,在彈出的快捷菜單中,選擇“編輯文字〞選項,將按鈕上的文字修改為“成績分析〞。步驟6為A列錄入成績,單擊“成績分析〞按鈕,計算并顯示成績分析結(jié)果。步驟5在Sheet1工作表中,右擊新建的按鈕,在彈出的謝謝欣賞MTHANKS謝謝欣賞MTHANKS〔Windows7+Office2021〕大學(xué)信息技術(shù)〔Windows7+Office2021〕大學(xué)信息技術(shù)48第7章VBA程序設(shè)計根底7.1VBA入門7.2VBA根底知識7.3VBA條件與循環(huán)語句7.4VBA過程與函數(shù)7.5Excel2021VBA綜合應(yīng)用實例第7章VBA程序設(shè)計根底7.1VBA入門VBA入門7.1.1添加Excel2021“開發(fā)工具〞選項卡7.1.2第一個VBA程序VBA入門7.1.1添加Excel2021“開發(fā)工具〞50使用Excel2021VBA,就要用到Excel2021的“開發(fā)工具〞選項卡。翻開Excel2021,單擊“文件〞選項卡,在展開的列表中選擇“選項〞選項,翻開“Excel選項〞對話框。添加“開發(fā)工具〞選項卡使用Excel2021VBA,就要用到Excel202Excel2021“開發(fā)工具〞選項卡由“代碼〞“加載項〞“控件〞“XML〞“修改〞等功能組構(gòu)成,單擊“代碼〞組中的“VisualBasic〞按鈕,翻開“MicrosoftVisualBasicforApplications〞窗口,即可編寫VBA代碼了。Excel2021“開發(fā)工具〞選項卡由“代碼〞“加載項〞“翻開“MicrosoftVisualBasicforApplications〞窗口選擇“插入〞→“模塊〞選項,創(chuàng)立一個新模塊,在模塊中輸入程序代碼運行程序,顯示計算結(jié)果翻開“MicrosoftVisualBasicfor模塊中的過程也稱宏,單擊工具欄中的按鈕,默認運行焦點所在的宏,如果宏沒有得到焦點〔或沒有翻開〕,那么翻開“宏〞對話框,選擇要運行的宏。如果“MicrosoftVisualBasicforApplications〞窗口中沒有顯示工程資源管理器,可依次選擇“視圖〞→“工程資源管理器〞選項翻開工程資源管理器。工程資源管理器中包含VBA工程的所有資源,其中第1個新插入模塊的名稱默認為“模塊1〞。模塊中的過程也稱宏,單擊工具欄中的按鈕,默認運行焦點所在的延時文字VBA根底知識7.2.1常量、變量、表達式、賦值語句7.2.2輸入與輸出7.2.3注釋延時文字VBA根底知識7.2.1常量、變量、表達式、賦值55常量是在程序運行過程中其值不變的量。VBA最常用的常量類型有數(shù)值型和字符型,數(shù)值型常量用于數(shù)值計算,如1,,?100等;字符型常量〔也稱字符串〕用雙引號引起來,用于表示文本信息,如“河北〞“唐山〞等。變量是指程序運行過程中其值可以改變的量。VBA最常用的變量類型有數(shù)值型和字符型。變量名可以包含字母和數(shù)字,但是必須以字母開頭。Excel2021VBA不區(qū)分字母大小寫且支持漢字。常量是在程序運行過程中其值不變的量。VBA最常用的常量類型有表達式是將常量、變量、函數(shù)用運算符連接起來的式子。常用的數(shù)值運算符有加、減、乘、除和乘方等表達式的計算根據(jù)運算符的優(yōu)先級從高到低依次執(zhí)行。算術(shù)運算符的優(yōu)先級和根本四那么運算法那么一致,先乘除后加減。對于一個運算量兩側(cè)同優(yōu)先級的運算符,按結(jié)合律方向進行。算術(shù)運算符的結(jié)合律皆為“左結(jié)合性〞,即同優(yōu)先級算術(shù)運算符按“自左向右〞方向進行計算。表達式是將常量、變量、函數(shù)用運算符連接起來的式子。常用的數(shù)值賦值語句給變量賦值,可以采用賦值號“=〞,其一般形式如下:例如:賦值號與數(shù)學(xué)上的等號是不同的概念。例如,A3=A3+10,稱為輾轉(zhuǎn)賦值,用于累加操作。賦值語句例如:賦值號與數(shù)學(xué)上的等號是不同的概念。例如,A3=通常情況下,一個程序包括輸入、計算和輸出3個局部。VBA的輸入和輸出可使用輸入函數(shù)與輸出函數(shù)完成。輸入函數(shù)Inputbox()的格式為:Inputbox([提示],[標題],[初始值])其中,第3個參數(shù)可以省略。該函數(shù)的功能為翻開對話框,用于輸入數(shù)據(jù)。輸出函數(shù)Msgbox()的格式為:Msgbox(參數(shù))其中,參數(shù)可以是常量、變量或表達式。該函數(shù)的功能為翻開對話框,顯示結(jié)果。通常情況下,一個程序包括輸入、計算和輸出3個局部。VBA的輸【例】編寫程序計算圓的面積,實現(xiàn)輸入半徑,計算并顯示面積。運行程序,翻開“輸入〞對話框,編輯框中默認值為1。輸入半徑〔如5〕,單擊“確定〞按鈕,翻開輸出對話框,顯示圓面積。程序代碼如下:【例】編寫程序計算圓的面積,實現(xiàn)輸入半徑,計算并顯示面積VBA可以使用Range()函數(shù)將計算結(jié)果輸出到單元格中,其一般形式為:Range(單元格名稱).Value=表達式“Range(單元格名稱)〞表示當前工作表的指定單元格對象,“Range(單元格名稱).Value〞表示指定單元格的值。例如,將運算結(jié)果S的值輸出到A1單元格,可用以下代碼實現(xiàn):Range("A1").Value=SRange()可以表示一個單元格對象,也可以表示一個區(qū)域?qū)ο蟆@?,Range(“A1〞)表示A1單元格,Range(“A1:A10〞)表示A1:A10單元格區(qū)域,Range(“A:A〞)表示A列。VBA可以使用Range()函數(shù)將計算結(jié)果輸出到單元格中,其注釋是用來說明程序中某些語句的功能和作用,增加程序的可讀性。在編寫程序時要養(yǎng)成添加注釋的習(xí)慣,以方便人們閱讀和修改程序。VBA的注釋以單引號“'〞開始,這種注釋可以單獨占一行,也可以出現(xiàn)在一行中其他內(nèi)容的右側(cè)。例如:S=R*R*3.14 '計算面積,賦給S程序運行時不執(zhí)行注釋語句。注釋是用來說明程序中某些語句的功能和作用,增加程序的可讀性。VBA條件與循環(huán)語句7.3.1條件語句7.3.2循環(huán)語句VBA條件與循環(huán)語句7.3.1條件語句7.3.2循環(huán)63條件語句是通過判斷條件是否成立而選擇是否執(zhí)行指定的語句。條件語句中使用關(guān)系運算符和邏輯運算符來判斷條件。關(guān)系運算符又稱比較運算符,用于比較運算符兩側(cè)的值,比較的結(jié)果是一個布爾值,即True或False。1.關(guān)系運算符條件語句是通過判斷條件是否成立而選擇是否執(zhí)行指定的語句。條件邏輯運算符包括And〔與〕、Or〔或〕、Not〔非〕3種。2.邏輯運算符例如,判斷a的值是否在c和b之間,可用表達式a>cAnda<b表示。邏輯運算符包括And〔與〕、Or〔或〕、Not〔非〕3種。23.條件語句VBA中的條件語句主要有If語句和SelectCase語句兩種。下面主要介紹If語句。If語句的最簡單形式如下:If語句的執(zhí)行過程是:如果判斷條件為真,執(zhí)行語句塊,否那么直接執(zhí)行If語句下面的語句。3.條件語句VBA中的條件語句主要有If語句和Select3.條件語句【例】編寫程序計算商品銷售額,要求輸入銷售數(shù)量x,輸出銷售額y,計算公式如下:程序代碼如下:3.條件語句【例】編寫程序計算商品銷售額,要求輸入銷售數(shù)3.條件語句程序運行結(jié)果。例如,輸入銷售數(shù)量20,輸出銷售額200。VBA還提供了If…Then…Else語句,其一般形式如下:上述語句的執(zhí)行過程是:當判斷條件為真時,執(zhí)行語句塊1,否則執(zhí)行語句塊2。3.條件語句程序運行結(jié)果。例如,輸入銷售數(shù)量20,輸出銷售額3.條件語句【例】用If…Then…Else語句改寫上個例題中的代碼。程序代碼如下:3.條件語句【例】用If…Then…Else語句改寫上個例題DOWhile…Loop語句的一般形式如下:上述語句的作用是:當判斷條件為真時,執(zhí)行循環(huán)體;接著再次判斷條件,如果為真,繼續(xù)執(zhí)行循環(huán)體;如此反復(fù),直到判斷條件為假時結(jié)束循環(huán),執(zhí)行Loop后面的語句,1.DOWhile…Loop語句DOWhile…Loop語句的一般形式如下:上述語句的作用【例】編寫程序,求S=1+2+3+…+100的值。1.DOWhile…Loop語句這是一個累加的問題,需要先后將100個數(shù)相加。要重復(fù)進行100次加法運算,因此,可以用循環(huán)語句來實現(xiàn)。重復(fù)執(zhí)行循環(huán)體100次,每次加一個數(shù)。繼續(xù)分析發(fā)現(xiàn)每次累加的數(shù)是有規(guī)律的,后一個數(shù)是前一個數(shù)加1。因此,只需在加完上一個數(shù)N后,使N加1就可得到下一個數(shù)。程序代碼如下:程序運行結(jié)果【例】編寫程序,求S=1+2+3+…+100的值。1.D當知道需要重復(fù)運行多少次語句塊時,可以使用For…Next語句,其一般形式如下:初值指的是循環(huán)開始的值,終值指的是循環(huán)結(jié)束的值;判斷循環(huán)變量的值,如果在初值和終值之間,那么執(zhí)行循環(huán)體;然后循環(huán)變量每運行到Next語句后會自動加1,直至循環(huán)變量超出了初值到終值這個范圍,循環(huán)結(jié)束。2.For…Next語句當知道需要重復(fù)運行多少次語句塊時,可以使用For…Next語【例】用For…Next語句改寫例7-4中的代碼。程序代碼如下:使用條件語句和循環(huán)語句時,建議使用縮進形式,方便閱讀。循環(huán)中還可以包含循環(huán),即循環(huán)嵌套,還可以包含跳出循環(huán)的語句,詳細內(nèi)容請參考相關(guān)幫助文件。2.For…Next語句【例】用For…Next語句改寫例7-4中的代碼。程序代【例】計算圓的面積,要求編寫兩個Sub過程,其中一個用于計算圓的面積,另一個用于顯示結(jié)果。2.For…Next語句程序代碼如下:程序運行結(jié)果【例】計算圓的面積,要求編寫兩個Sub過程,其中一個用于VBA過程與函數(shù)7.4.1Sub過程7.4.2Function函數(shù)7.4.3錄制宏VBA過程與函數(shù)7.4.1Sub過程7.4.2Fun75VBA代碼有兩種組織形式,一種是Sub過程,另一種是Function函數(shù)。Sub過程是構(gòu)成程序的一個模塊,用來完成一個相對獨立的功能??梢詫ub過程分為不帶參數(shù)的和帶參數(shù)的兩種。1.不帶參數(shù)的Sub過程過程的調(diào)用形式如下:不帶參數(shù)的Sub過程,其一般形式如下:VBA代碼有兩種組織形式,一種是Sub過程,另一種是Func2.帶參數(shù)的Sub過程帶參數(shù)的Sub過程,其一般形式如下:過程的調(diào)用形式如下:形參即形式參數(shù),用于調(diào)用過程和被調(diào)過程之間的數(shù)據(jù)傳遞,故使用變量;實參即實際參數(shù),可以使用常量、變量或表達式。帶參數(shù)的過程,在調(diào)用時把實參傳遞給形參。在形參前面可帶修飾符,其中,ByVal表示值傳遞,ByRef表示引用傳遞;值傳遞,將實參的值傳遞給形參,是單向傳遞;引用傳遞,實參必須是變量,將實參的值傳遞給形參,過程調(diào)用結(jié)束后,又將形參的值反向傳遞給實參變量。2.帶參數(shù)的Sub過程帶參數(shù)的Sub過程,其一般形式如下:過Function函數(shù)〔也稱自定義函數(shù)〕與Sub過程類似,其一般形式如下:需要說明以下幾點:〔1〕Function函數(shù)可以不帶參數(shù)?!?〕如果想強制退出函數(shù),可以在需要的位置加上“ExitFunction〞語句。〔3〕必須把計算結(jié)果賦給函數(shù)名,作為函數(shù)的返回值。函數(shù)的調(diào)用形式如下:Function函數(shù)〔也稱自定義函數(shù)〕與Sub過程類似,其一【例】用Function函數(shù)改寫上個例題中的代碼。程序代碼如下:【例】用Function函數(shù)改寫上個例題中的代碼。程序代Function函數(shù)也可以作為Excel函數(shù)使用。例如,在當前工作表的A1單元格中輸入“=計算圓面積(5)〞,Excel會自動調(diào)用“計算圓面積(ByValR)〞函數(shù),此時,該單元格顯示“78.5〞VBA除了可以自定義函數(shù)外,自身的函數(shù)庫也提供了豐富的函數(shù)集。例如,平方根函數(shù)sqrt(),絕對值函數(shù)abs()等,詳情請參考相關(guān)書籍。Function函數(shù)也可以作為Excel函數(shù)使用。例如,在當保存在模塊中的Sub過程也稱為宏,錄制宏就是把一組Excel操作轉(zhuǎn)換為代碼的過程。單擊“開發(fā)工具〞選項卡“代碼〞組中的“錄制宏〞按鈕,翻開“錄制新宏〞對話框。在“錄制新宏〞對話框中輸入宏名,如“輸入數(shù)據(jù)〞,單擊“確定〞按鈕開始錄制,在Excel工作表中進行一系列操作。單擊“開發(fā)工具〞選項卡“代碼〞組中的“停止錄制〞按鈕,結(jié)束宏的錄制。保存在模塊中的Sub過程也稱為宏,錄制宏就是把一組Excel單擊“開發(fā)工具〞選項卡“代碼〞組中的“VisualBasic〞按鈕,翻開“MicrosoftVisualBasicforApplications〞窗口。在“MicrosoftVisualBasicforApplications〞窗口的工程資源管理器中,雙擊“模塊1〞即可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論