資源描述:
《excelvba編程24學(xué)時教程06》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、ExcelVBA編程24學(xué)時教程06本文由water335貢獻pdf文檔可能在WAP端瀏覽體驗不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機查看。6學(xué)時條件邏輯在前一學(xué)時中,學(xué)習(xí)了如何提示用戶進行響應(yīng)并且將用戶的響應(yīng)保存在變量中。這些變量可以用來干什么呢?你將用這些響應(yīng)來進行判斷。你需要做的是如何處理用戶對你的提示可能做出的各種響應(yīng)。通過條件邏輯可以做到這一點,而這正是本學(xué)時的重點。本學(xué)時的重點包括:?如何控制應(yīng)用程序的流程?使用If語句?使用SelectCase語句?怎樣顯示Excel內(nèi)置的對
2、話框6.1控制應(yīng)用程序的流程新術(shù)語當(dāng)應(yīng)用程序顯示一個包括“是”和“否”按鈕的消息框時,需要決定:如果用戶選擇了“是”,應(yīng)用程序應(yīng)當(dāng)執(zhí)行什么操作;如果用戶選擇了“否”又應(yīng)當(dāng)如何。換句話說,應(yīng)當(dāng)根據(jù)用戶的選擇執(zhí)行不同的語句。通過條件語句可以實現(xiàn)這種功能。條件語句可以判斷一個條件是True還是False,并且根據(jù)判斷的結(jié)果執(zhí)行一條或者多條語句。你將發(fā)現(xiàn)可能會在你的應(yīng)用程序中頻繁地使用條件語句。新術(shù)語在條件語句中,你將使用條件邏輯來控制程序流程。條件邏輯可以根據(jù)變量值、用戶的響應(yīng)、函數(shù)計算或者設(shè)置的屬性
3、選擇不同的程序路徑。當(dāng)使用條件邏輯時,需要先創(chuàng)建一個檢測判斷,在根據(jù)檢測的結(jié)果讓程序執(zhí)行不同的操作。新術(shù)語例如,如果過程顯示一個輸入框,并提示用戶輸入他的工作區(qū)域,通過條件邏輯可以實現(xiàn):如果用戶工作在南部地區(qū),程序執(zhí)行一組語句;如果用戶工作在北部地區(qū),程序會執(zhí)行另一組語句。另一個例子是,如果你有一張包括所有雇員創(chuàng)造的銷售額的工作表,可以創(chuàng)建一個過程,根據(jù)雇員在公司工作的時間計算他們的傭金。如果一個雇員的工作時間少于兩年,則他可以得到2%的傭金;如果雇員的工作時間大于兩年,那么他可以得到4%的傭金
4、。要進行這類判斷,需要使用比較運算符。用比較運算符進行檢測的結(jié)果或者為True(意味著滿足測試條件)或者為False(意味著不滿足檢測條件)。通過對某些Excel函數(shù)(例如If函數(shù))的使用,你也許已經(jīng)對比較運算符很熟悉了。表6-1列出了可用的比較運算符。有時,需要檢測某個數(shù)值是否滿足多重條件。例如,你也許需要檢測一個雇員的工作時間是否超過5年,并且是否是管理人員,以計算他的休假時間。要做到這樣,可以用邏輯運算符來合并需要檢測的條件。表6-2列出了VBA中的邏輯運算符。表6-1比較運算符比較運算符
5、=<>>>=<<=意義等于不等于大于大于或等于小于小于等于第6學(xué)時條件邏輯使用51表6-2邏輯運算符邏輯運算符AndOrNotXor意義如果兩個條件為真,則結(jié)果為真如果兩個條件中有一個為真,則結(jié)果為真如果條件表達式為假,則結(jié)果為真;如果條件表達式為真,則結(jié)果為假如果一個且僅有一個條件為真,則結(jié)果為真;如果兩個條件均為真,或均為假,則結(jié)果為假6.2If語句將學(xué)習(xí)的第一條條件語句是If……Then……Else……語句。這條語句的語法如下:IfconditionThen[statements][Els
6、eIfcondition-nThen[elseifstatements]……[Else[elsestatements]]EndIfcondition是語法中必須的一部分,可在此處輸入要檢測的條件。如果條件檢測的結(jié)果是True,將執(zhí)行在Then之后的語句。如果希望在同一條If語句中檢測第二個條件,可以向If語句中添加一條或者多條ElseIf從句。VBA首先檢測If后的條件,如果檢測的結(jié)果是False,VBA將檢測ElseIf從句后的條件,并重復(fù)檢測,直至某個條件檢測的結(jié)果為True。如果所有條件檢
7、測的結(jié)果都是False,VBA將執(zhí)行EndIf語句,除非具有Else從句。如果If語句中所有條件檢測的結(jié)果都是False,那么將執(zhí)行可選的Else從句后的語句。在下面的練習(xí)中,將學(xué)習(xí)使用If語句:1)打開一個新的工作簿。2)創(chuàng)建一個如圖6-1所示的工作表。圖6-1本工作表是新的應(yīng)用程序的基礎(chǔ)52使用中文Excel2000編程24學(xué)時教程www:6ago.net3)在單元格B6中輸入公式B3+B4以計算總額。4)按下Alt+F11鍵打開VisualBasic編輯器。5)用鼠標(biāo)右鍵單擊工程資源管理器
8、中的“ThisWorkbook”。6)選擇“插入”“模塊”向工作簿中添加一個模塊。、7)創(chuàng)建一個新的名為Shipping的過程。8)為Shipping過程輸入如下代碼:DimiResponseAsIntegeriResponse=MsgBox("Doesthissaleneedtobeshipped?",vbYesNo)IfiResponse=vbYesThenRange("B4").Value=10ElseRange("B4").Value=0EndIf9)回到在第二步中創(chuàng)建的工作表。10)向