寵物集市-寵物集市華東、華南、華北排行榜一覽表
1106
2025-04-02
Excel中怎么用VBA運算符
Excel中怎么用VBA運算符?還記得小時候?qū)W習(xí)數(shù)學(xué)的經(jīng)歷嗎?很小很小的時候,我們會接觸到數(shù)字,大人們會教我們數(shù)數(shù),認(rèn)識簡單的數(shù)字,慢慢地我們會開始學(xué)習(xí)簡單的加減法,再大一點,會學(xué)習(xí)乘除法,背誦乘法口訣,隨著學(xué)習(xí)的深入,我們會逐漸學(xué)習(xí)到更復(fù)雜的運算和規(guī)則。
運算無處不在。在編寫程序代碼時,很多內(nèi)容都是在進(jìn)行各種各樣的運算,因此,運算符非常重要。
當(dāng)然,最開始我們都是從了解最基本的運算開始,逐漸深入到更多的運算內(nèi)容。最先應(yīng)該了解的當(dāng)然是加、減、乘、除等算術(shù)運算符。
算術(shù)運算符
常用的VBA算術(shù)運算符有:加(+)、減(-)、乘(*)、除(/)、整除(\)、取模(MOD)、求冪(^)?;镜倪\算如下所示。
說明:
整除(\)運算符,即在除法運算中,結(jié)果直接取商,而不管余數(shù)。
取模(MOD)運算符,即在除法運算中,結(jié)果取余數(shù)。
將變量、常量或其他元素使用運算符連接起來,就組成了表達(dá)式,特別地,單個的變量或常量也看作是表達(dá)式。
關(guān)系運算符
關(guān)系運算符用于比較,也稱為比較運算符。VBA的關(guān)系運算符有:等于(=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、不等于(<>)?;镜谋容^運算如下所示。
在VBA中,關(guān)系運算符用于比較運算符兩側(cè)的表達(dá)式結(jié)果,比較的結(jié)果為True(真)、False(假)或者Null。因此,關(guān)系運算符常用于條件判斷中。
Is運算符
在VBA中,經(jīng)常要在對象變量之間進(jìn)行判斷,例如判斷兩個對象變量是否引用同一個對象,這時就要用到Is運算符。
對象變量1 Is對象變量2
如果對象變量1和對象變量2都指向同一個對象,其結(jié)果是True,否則是False。
對象變量Is Nothing
用于判斷該對象變量是否有已設(shè)置對象引用,如果沒有則為False。這是程序中經(jīng)常會用到的語句。
示例:
結(jié)合前面學(xué)習(xí)的系列知識,我們來看看下面語句的意思。
Intersect(ActiveCell, Range(“A1:B2”)) Is Nothing
該語句判斷當(dāng)前單元格是否在單元格區(qū)域A1:B2內(nèi),如果當(dāng)前單元格不在該區(qū)域內(nèi),則為True。Intersect方法屬于Application對象,返回一個Range對象,代表該方法指定參數(shù)的交叉區(qū)域。
邏輯運算符
邏輯運算符用于對表達(dá)式進(jìn)行運算并返回一個邏輯值。VBA支持6個邏輯運算符,即Not(邏輯非)、And(邏輯與)、Or(邏輯或)、Xor(邏輯異或)、Eqv(邏輯與或)、Imp(邏輯蘊涵)。其中,Not、And、Or在我們通常的程序中經(jīng)常會用到,應(yīng)重點了解。
Not
對表達(dá)式進(jìn)行邏輯非運算后,如果表達(dá)式的結(jié)果為True,那么Not運算使其值變?yōu)镕alse;如果表達(dá)式的結(jié)果為False,那么Not運算使其值變?yōu)門rue。其格式為:
Not 表達(dá)式
運算結(jié)果表如下:
表達(dá)式Not 表達(dá)式
TrueFalse
FalseTrue
And
如果執(zhí)行邏輯與運算的表達(dá)式都為True,則其值為True,只要有一個表達(dá)式的結(jié)果為False,則其值為False。其格式為:
表達(dá)式1 And 表達(dá)式2 And 表達(dá)式3 And … 表達(dá)式n
表達(dá)式至少有2個。
運算結(jié)果表如下:
表達(dá)式1表達(dá)式2表達(dá)式1 And 表達(dá)式2
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse
Or
如果執(zhí)行邏輯或運算的表達(dá)式中至少有一個為True,則其值為True,如果表達(dá)式的結(jié)果都為False,則其值為False。其格式為:
表達(dá)式1 Or 表達(dá)式2 Or 表達(dá)式3 Or … 表達(dá)式n
表達(dá)式至少有2個。
運算結(jié)果表如下:
表達(dá)式1表達(dá)式2表達(dá)式1 Or 表達(dá)式2
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
示例
結(jié)合前面學(xué)習(xí)的系列知識,我們來看看下面語句的意思。
ActiveSheet.Name=”工作表1” Or ActiveSheet.Name=”工作表2”
如果當(dāng)前工作表是“工作表1”,或者是“工作表2”,則為True。
ActiveSheet.Name=”工作表1” And Range(“A1”).Value=”工作清單”
如果當(dāng)前工作表是“工作表1”,并且當(dāng)前工作表的單元格A1中的值為“工作清單”,則為True。
ActiveCell.Font.Bold = Not ActiveCell.Font.Bold
如果當(dāng)前單元格中的字體為常規(guī),則將其設(shè)置為加粗;如果當(dāng)前單元格中的字體已加粗,則將其設(shè)置為常規(guī)。
補充說明:上述6個邏輯運算符也可作為按位運算符使用,并且我們只介紹了常用的3個,在后面的系列中如果用到其它的3個運算符,我們會再進(jìn)行詳細(xì)介紹。
字符串運算符
VBA中的字符串運算符僅一個,即字符串連接運算符,使用 & 表示,用于將一個或多個獨立的字符串連接在一起。例如:
“My ” &”Family”
的結(jié)果為:
My Family
運算符的優(yōu)先級
如果在同一個表達(dá)式中包含有多個運算符,那么就需要了解VBA是如何安排那個運算符先運算,那個運算符后運算,即運算的優(yōu)先順序。不了解運算符的優(yōu)先順序,隨意組合運算符,可能得不到我們想要的結(jié)果。
下列出了VBA中運算符的優(yōu)先級。
說明:
四類運算符由高到低的順序依次為:算術(shù)運算符、連接運算符、關(guān)系運算符、邏輯運算符。
算術(shù)運算符由高到低的順序依次為:^(冪)、*(乘)或/(除)、\(整除)、Mod(取模)、+(加)或-(減)。
同一表達(dá)式中多次使用同一個算術(shù)運算符時,按從左到右的順序運算。
同一表達(dá)式中多個關(guān)系運算符,按從左到右的順序運算。
同一表達(dá)式中多次使用同一邏輯運算符時,按從左到右的順序運算。
如果想改變運算符的優(yōu)先順序,可以在表達(dá)式中使用()或[]。
賦值運算符
VBA使用等號(=)作為賦值運算符,用于將表達(dá)式的結(jié)果賦給變量。通常,接受結(jié)果的變量位于賦值運算符(=)的左側(cè),表達(dá)式位于賦值運算符的右側(cè)。通過賦值運算符將右側(cè)表達(dá)式的結(jié)果賦值給左側(cè)的變量。賦值運算符可以修改變量的值。
下所示為一些簡單的賦值示例。
前面我們過,可以通過VBA來改變對象屬性值,因此,也可以將表達(dá)式的結(jié)果賦值給對象的屬性。下面是一些示例:
Range(“A1”).Value = 100
該語句在單元格A1中輸入數(shù)據(jù)100。
Range(“A2”).Value = “工作清單”
該語句在單元格A2中輸入文本“工作清單”。
ActiveCell.Interior.Color = vbYellow
該語句將當(dāng)前單元格的背景色設(shè)置為黃色。
注意:不要將賦值運算符與關(guān)系運算符中的“=”混淆,要在不同的表達(dá)式中區(qū)分“=”是賦值運算符還是等于運算符。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。