讀古今文學網 > 別怕,ExcelVBA其實很簡單 > 練習小課堂 >

練習小課堂

根據圖3-29所示的學生成績表,用學過的運算符,你能寫出其他表達式嗎?請任意寫出4個填在下面的表格裡,然後再繼續後面的內容。

參考答案

表達式說明Range(「J2」).Value﹥=500判斷J2的分數是否達到500Range(「D3」).Value﹥90判斷D3的分數是否大於90Range(「C4」).Value﹥Range(「D4」).Value判斷C4的分數是否大於D4的分數Range(「B5」).Value Like「孟*」判斷B5的學生是否姓孟Range(「B5」).Value Like 「*軍」判斷B5的學生姓名是否以「軍」字結尾

3.5.3 連接運算符

連接運算符用來連接兩個文本字符串,有+和&兩種,如圖3-30所示。

圖3-30 在立即窗口中使用連接運算符

+可以用作算術運算的加運算,也可以用於文本連接運算。如果+運算符兩邊的表達式都是文本字符串,則執行連接運算;如果+運算符兩邊的表達式包含數值,則執行算術運算,如圖3-31所示。

圖3-31 在立即窗口中使用+運算符

當使用&運算符時,無論運算符左右兩邊是何種尖型的數據,都執行連接運算。

3.5.4 邏輯運算符

邏輯運算符用於判斷邏輯運算式的真假,參與運算的數據為邏輯型數據,返回結果為Boolean型,只能為True或False。輯邏運算符及其作用如表3-9所示。

表3-9邏輯運算符及作用

運算符作用語法返回結果And執行邏輯「與」運算表達式1 And 表達式2表達式1和表達式2的值都為True時返回True,否則返回FalseOr執行邏輯「或」運算表達式 1 Or 表達式2表達式1和表達式2中只要有一個表達式的值為True時返回True,否則返回FalseNot執行邏輯「非」運算Not 表達式表達式的值為Ture時返回False,否則返回TrueXor執行邏輯「異或」運算表達式 1 Xor 表達式2表達式1和表達式2返回的值不相同時,返回True,否則返回FalseEqv執行邏輯「等價」運算表達式 1 Eqv 表達式2表達式1和表達式2返回的值相同時,返回True,否則返回FalseImp執行邏輯「蘊含」運算表達式 1 Imp 表達式2表達式1的值為True,表達式2的值為False時返回False,否則返回True。相當於Not表達式1 Or表達式2

圖3-29所示的學生成績表,如果想判斷第一條記錄中語文、數學兩個學科中是否有及格(大於或等於60分)的科目,語句為:

如果語文成績和數學成績分別為85分和49分,則這個表達式的計算過程可以用脫等式表示為:

3.5.5 應該先進行什麼運算

在VBA中,要先處理算術運算符,接著處理連接運算符,然後處理比較運算符,最後再處理邏輯運算符。可以用括號來改變運算順序。

運算符按運算的優先級由高到低的次序排列為:括號一指數運算(乘方)一求相反數一乘法和除法一整除(兩數相除取商的整數)一求模運算(兩數相除取餘數)一加法和減法一字符串連接一比較運算一邏輯運算,如表3-10所示。

表3-10 運算符的優先級

優先級運算名稱運算符1括號()2指數運算^3求相反數-4乘法和除法*,/5整除\6求模運算Mod