国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Excel VBA 學(xué)習(xí)總結(jié)-內(nèi)置函數(shù)

  了解VBA與Excel內(nèi)置的函數(shù),能夠使我們處理起任務(wù)來(lái)事半功倍。這些函數(shù)不僅使用方便,而且效率一般都比較高(有些是例外的,特別是某些工作表函數(shù)),比我們自己寫的要高效的多。

1. VBA內(nèi)置的函數(shù) 

VBA內(nèi)置函數(shù)是VBA種可以直接使用的函數(shù),很多處理函數(shù)也相當(dāng)有用。

調(diào)用方式:直接使用函數(shù),或者使用VBA調(diào)用。例如Shell()或者VBA.Shell()。

VBA內(nèi)置的函數(shù)主要涉及以下幾類:

測(cè)試類函數(shù):

IsNumeric(x) - 是否為數(shù)字, 返回Boolean結(jié)果。

IsDate(x)  - 是否是日期, 返回Boolean結(jié)果。

IsEmpty(x) - 是否為Empty, 返回Boolean結(jié)果。

IsArray(x) - 指出變量是否為一個(gè)數(shù)組。

IsError(expression) - 指出表達(dá)式是否為一個(gè)錯(cuò)誤值。

IsNull(expression) - 指出表達(dá)式是否不包含任何有效數(shù)據(jù) (Null)。

IsObject(identifier) - 指出標(biāo)識(shí)符是否表示對(duì)象變量。

數(shù)學(xué)函數(shù):

Sin(X)、Cos(X)、Tan(X)、Atan(x) - 三角函數(shù),單位為弧度。

Log(x)、Exp(x) -  返回x的自然對(duì)數(shù),指數(shù)。

Abs(x) - 返回x的絕對(duì)值。

Int(number)、Fix(number) - 都返回參數(shù)的整數(shù)部分,區(qū)別:Int 將 -8.4 轉(zhuǎn)換成 -9,而 Fix 將-8.4 轉(zhuǎn)換成 -8。

Sgn(number) - 返回一個(gè) Variant (Integer),指出參數(shù)的正負(fù)號(hào)。

Sqr(number) - 返回一個(gè) Double,指定參數(shù)的平方根。

VarType(varname) - 返回一個(gè) Integer,指出變量的子類型。

Rnd(x) - 返回0-1之間的單精度數(shù)據(jù),x為隨機(jī)種子。

Round(x,y) -  把x四舍五入得到保留y位小數(shù)的值。

字符串函數(shù):

Trim(string)、Ltrim(string)、Rtrim(string) - 去掉string左右兩端空白,左邊的空白,右邊的空白。

Len(string) - 計(jì)算string長(zhǎng)度

Replace(expression,find,replace) - 替換字符串。

Left(string, x)、Right(string, x)、Mid(string, start,x) - 取string左/右/指定段x個(gè)字符組成的字符串

Ucase(string)、Lcase(string) - 轉(zhuǎn)換字符串為大、小寫

Space(x) - 返回x個(gè)空白的字符串

Asc(string) - 返回一個(gè) integer,代表字符串中首字母的字符代碼

Chr(charcode) - 返回 string,其中包含有與指定的字符代碼相關(guān)的字符

InStr() - 返回一個(gè)字符串在另外一個(gè)字符串中的位置,返回值為Variant(Long)型。

轉(zhuǎn)換函數(shù):

CBool(expression) - 轉(zhuǎn)換為Boolean型

CByte(expression) - 轉(zhuǎn)換為Byte型

CCur(expression) - 轉(zhuǎn)換為Currency型

CDate(expression) - 轉(zhuǎn)換為Date型

CDbl(expression) - 轉(zhuǎn)換為Double型

CDec(expression) -  轉(zhuǎn)換為Decemal型

CInt(expression) - 轉(zhuǎn)換為Integer型

CLng(expression) - 轉(zhuǎn)換為L(zhǎng)ong型

CSng(expression) - 轉(zhuǎn)換為Single型

CStr(expression) - 轉(zhuǎn)換為String型

CVar(expression) -  轉(zhuǎn)換為Variant型

Val(string) - 轉(zhuǎn)換為數(shù)據(jù)型

Str(number) - 轉(zhuǎn)換為String

時(shí)間函數(shù):

Now、Date、Time - 返回一個(gè) Variant (Date),根據(jù)計(jì)算機(jī)系統(tǒng)設(shè)置的日期和時(shí)間來(lái)指定日期和時(shí)間。

Timer - 返回一個(gè) Single,代表從午夜開始到現(xiàn)在經(jīng)過的秒數(shù)。

TimeSerial(hour, minute, second) - 返回一個(gè) Variant (Date),包含具有具體時(shí)、分、秒的時(shí)間。

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) - 返回 Variant (Long) 的值,表示兩個(gè)指定日期間的時(shí)間間隔數(shù)目。

Second(time) - 返回一個(gè) Variant (Integer),其值為 0 到 59 之間的整數(shù),表示一分鐘之中的某個(gè)秒。

Minute(time) - 返回一個(gè) Variant (Integer),其值為 0 到 59 之間的整數(shù),表示一小時(shí)中的某分鐘。

Hour(time) - 返回一個(gè) Variant (Integer),其值為 0 到 23 之間的整數(shù),表示一天之中的某一鐘點(diǎn)。

Day(date) - 返回一個(gè) Variant (Integer),其值為 1 到 31 之間的整數(shù),表示一個(gè)月中的某一日

Month(date) - 返回一個(gè) Variant (Integer),其值為 1 到 12 之間的整數(shù),表示一年中的某月。

Year(date) - 返回 Variant (Integer),包含表示年份的整數(shù)。

Weekday(date, [firstdayofweek]) - 返回一個(gè) Variant (Integer),包含一個(gè)整數(shù),代表某個(gè)日期是星期幾。
其它常用函數(shù):

Shell - 運(yùn)行一個(gè)可執(zhí)行的程序。

InputBox - 這個(gè)太熟悉了,簡(jiǎn)單輸入對(duì)話框。這個(gè)需要注意與Application.InputBox(更強(qiáng)大,內(nèi)置容錯(cuò)處理,選擇取消后返回false)區(qū)分,而這個(gè)函數(shù)不含有容錯(cuò)處理,而且選擇取消后返回空串(零個(gè)字節(jié)的字符串)。

MsgBox - 這個(gè)更不用說了,簡(jiǎn)單信息顯示對(duì)話框,其實(shí)也是一種簡(jiǎn)單的輸入手段。

Join - 連接數(shù)組成字符串。

Split - 拆分字符串成數(shù)組。

RGB - 返回指定R、G、B分量的顏色數(shù)值。

Dir - 查找文件或者文件夾。

IIF(expression, truePart, falsePart)  - IF語(yǔ)句的“簡(jiǎn)化版本”(比喻,當(dāng)然并不一樣);expression為true的話返回truePart,否則返回falseParth。

Choose(index, choice1,...choiceN) - 選擇指定Index的表達(dá)式,Index可選范圍是1到選項(xiàng)的總數(shù)。

Switch(exp1,value1,exp2,value2,...expN,valueN) - 從左至右計(jì)算每個(gè)exp的值,返回首先為true的表達(dá)式對(duì)應(yīng)的value部分。如果所有的exp值都不為true,則返回Null。注意雖然只返回一個(gè)部分,但是這里所有的表達(dá)式exp1到expN都是要被計(jì)算的,實(shí)際使用中要注意這個(gè)副作用。

 

部分內(nèi)容來(lái)自下面的連接,感謝樓主的無(wú)私奉獻(xiàn)。大家入門學(xué)學(xué)還是很不錯(cuò)的,推薦一下:http://club.excelhome.net/forum.php?mod=viewthread&tid=178278&extra=page%3D3%26filter%3Ddigest%26digest%3D1&page=1

 

2. WorksheetFunction工作表函數(shù)

WorksheetFunction工作表函數(shù)是Excel內(nèi)置的處理函數(shù),計(jì)算功能相當(dāng)強(qiáng)大。

調(diào)用方式:Application.WorksheetFunction或者直接WorksheetFunction。例如Application.WorksheetFunction.Max()或者WorksheetFunction.Max()。

VBA內(nèi)置的函數(shù)是用于處理程序數(shù)據(jù)的,是為VB語(yǔ)言服務(wù)的,所有VBA宿主環(huán)境都可以使用這些內(nèi)置的功能。但是對(duì)于Worksheet中的對(duì)象,似乎這些通用的函數(shù)并不能提供最佳的實(shí)踐。所以針對(duì)Sheet,又存在另外一套相關(guān)的處理函數(shù),雖然它們與VBA中的某些函數(shù)作用是一樣的,但是從“工作表函數(shù)”這個(gè)名字上就可以看出,對(duì)于工作表中的對(duì)象的所有操作,比如對(duì)單元格求和,求單元格中最大值等,使用工作表函數(shù)必將具有先天的優(yōu)勢(shì)(當(dāng)然了,工作表函數(shù)基本上都是可以在Excel單元格中直接輸入“=”然后就可以使用的)。雖然從實(shí)際的操作中,我們可能發(fā)現(xiàn),使用內(nèi)置的工作表函數(shù)并不一定是最快,最高效的,但無(wú)疑是最直接,最省事的。

這里簡(jiǎn)單總結(jié)一下常用的幾類函數(shù)。全部的函數(shù)說明參見文末的MSDN鏈接。
數(shù)學(xué)函數(shù)類:

BesselI(貝塞爾函數(shù))  BesselJ  BesselK  BesselY  Power(指數(shù)) Log(對(duì)數(shù),還有以不同) In(自然對(duì)數(shù)) Fact(階乘)  FactDouble(半數(shù)階乘,意思就是偶數(shù)的只計(jì)算偶數(shù)階乘,奇數(shù)的只奇數(shù)奇數(shù)階乘) PI(圓周率)
弦值計(jì)算類:

Acos  Acosh  Asin  Asinh  Atan2  Atanh  Cosh  Sinh  Tanh 
數(shù)制轉(zhuǎn)換類:

Bin2Dec Bin2Hex  Bin2Oct   Dec2Bin  Dec2Hex  Dec2Oct  Hex2Bin  Hex2Dec  Hex2Oct  Oct2Bin Oct2Dec   Oct2Hex  Degrees與Radians(弧度角度互換).
數(shù)值處理類:
Ceiling(arg1,arg2) - 數(shù)值舍入處理,把a(bǔ)rg1舍入處理成arg2的最接近的倍數(shù)(大于等于傳入的參數(shù))。
Floor(arg1,arg2) - 數(shù)值舍入處理,把a(bǔ)rg1舍入處理成arg2的最接近的倍數(shù)(小于等于傳入的參數(shù))。
Round - 按指定的位數(shù)四舍五入,返回類型是Double。
MRound - 按指定位數(shù)四舍五入,參數(shù)是Variant,返回類型是Double.
RoundDown - 舍去指定位數(shù)后面的小數(shù),總是小于等于傳入的參數(shù),其它的基本同Round。
RoundUp - 舍去指定位數(shù)后的小數(shù)總是進(jìn)1,總是大于等于傳入的參數(shù),其它的基本同Round。
Fixed - 按指定的位數(shù)四舍五入,返回類型是String,可以指定顯示不顯示逗號(hào)(第三個(gè)參數(shù)決定,F(xiàn)alse則顯示逗號(hào),True則不顯示逗號(hào)).
Odd - 返回比參數(shù)大的最接近的奇數(shù)。
Even - 返回比參數(shù)大的最接近的偶數(shù)。

數(shù)值運(yùn)算類:

Average  AverageIf  AverageIfs  Max Min Large Small Sum  SumIf  SumIfs SumProduct  SumSq  SumX2MY2   SumX2MY2 SumX2PY2   SumXMY2  Count  CountA  CountBlank CountIf CountIfs
Frequency - 計(jì)算第二個(gè)數(shù)組的每個(gè)元素在第一個(gè)數(shù)組中出現(xiàn)的次數(shù),返回一個(gè)與第二個(gè)數(shù)組同長(zhǎng)的一個(gè)數(shù)組。一般參數(shù)和返回值都是Range。
Lcm - 計(jì)算數(shù)值的最小公倍數(shù)。
Product  - 返回所有參數(shù)的乘積。
Quotient - 返回兩個(gè)數(shù)整除的值,忽略余數(shù)。

邏輯判斷類:
And - 如果所有參數(shù)都為True,則返回True;只要有一個(gè)返回False,則返回False。
Or - 如果所有參數(shù)都為False,則返回False;只要有一個(gè)返回True,則返回True。
IsErr - 檢查是不是除了#N/A外的錯(cuò)誤值.
IsError - 檢查是不是錯(cuò)誤值(#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?,或者 #NULL!).
IsEven - 檢查是否是偶數(shù).
IsOdd - 檢查是否是奇數(shù).
IsLogical - 檢查是不是布爾值.
IsNA - 檢查值是否是錯(cuò)誤值#N/A(值不可用)。
IsNonText - 檢查是否是非文本(空的單元格返回true)。
IsNumber - 檢查是不是數(shù)字。
IsText - 一般用于判斷單元格中內(nèi)容是否是文本。
Delta - 判斷兩個(gè)Variant的值是否相等,相等則返回1,否則返回0。
數(shù)據(jù)操作類:
Choose - 返回第一個(gè)參數(shù)Index指定的值. 與VBA內(nèi)置的函數(shù)Choose有類似的功能。
Asc - 把雙字節(jié)字符變成單字節(jié)字符。
Lookup,VLookup,HLookup - 查找單元格數(shù)組中與給定值相同的值,文本等等。
Match - 查找并返回單元格數(shù)組中與指定值相同的單元格的相對(duì)Index值。
Find,FindB,Search,SearchB -  返回第一個(gè)字符串在第二個(gè)字符串中的位置(位置是從1開始的,不是基于0的)。
Replace,ReplaceB - 字符串替換,可以指定開始的位置以替換的字符數(shù),控制更為精細(xì)。
Substitute - 直接進(jìn)行字符串替換,不需要指定開始位置,可控性差,但是使用簡(jiǎn)單。
Rept - 按照指定次數(shù)的重復(fù)構(gòu)造字符串并返回。
Text - 按照一定的格式把值轉(zhuǎn)換成文本。
Index - 一般用于返回一組單元格中某塊區(qū)域中某行某列的值。
Median - 計(jì)算一個(gè)Double的數(shù)值,這個(gè)數(shù)值將參數(shù)分為相同數(shù)目?jī)山M,一組比這個(gè)值大,一組比這個(gè)值小。這個(gè)值可能正好出現(xiàn)在參數(shù)中,也可能不出現(xiàn)在這些參數(shù)中。
Mode - 返回傳入的數(shù)組,或一組值中出現(xiàn)次數(shù)最多的值. 
Prope - 格式化字符串中的每個(gè)單詞,把首字母轉(zhuǎn)成大寫,其它的轉(zhuǎn)成小寫。
RandBetween - 返回介于兩個(gè)數(shù)之間的隨機(jī)數(shù),返回值為Double型。
Rank- 返回指定的數(shù)在一個(gè)Range對(duì)象值中排過序后的位置(可以用第三個(gè)參數(shù)指定按降序或升序排,默認(rèn)是降序),比如單元格d1到d4的值為(1,4,3,4),那么4的Rank值就是1(忽略第三個(gè)參數(shù)是按降序找第一個(gè)匹配,然后返回位置)。
Transpose - 把一個(gè)數(shù)組的行列互換,這個(gè)方法主要是針對(duì)單元格的,所以數(shù)組的長(zhǎng)度(<65535),和每個(gè)元素的長(zhǎng)度(<255)都有限制。如果這個(gè)方法由于這些因素失敗了,可以嘗試一下這個(gè)方案:http://club.excelhome.net/thread-583046-1-1.html。
Trim - 移除單詞之間多余的空格,只保留一個(gè);字符串開頭和結(jié)尾的空格也會(huì)全部移除。
Weekday - 返回指定日期是星期幾,用Double值表示,范圍默認(rèn)是從1 (Sunday)到7(Saturday)。
WeekNum - 返回指定日期是一年中的第幾周。

 

基本上以Variant為參數(shù)的函數(shù)都是可以直接傳入單元格的。
以B結(jié)尾的函數(shù)代表是推薦使用于雙字節(jié)的字符語(yǔ)言的,比如漢子,日語(yǔ)等。不以B結(jié)尾的函數(shù)代表的是推薦使用于單字節(jié)字符語(yǔ)言的,例如英語(yǔ),德語(yǔ)等。 對(duì)于不同的語(yǔ)言,這2個(gè)函數(shù)返回的結(jié)果可能是有差異的。
加上前綴“D”的函數(shù)是特別針對(duì)Range對(duì)象或數(shù)據(jù)庫(kù)數(shù)據(jù)的相關(guān)數(shù)學(xué)運(yùn)算,例如DMax,DMin,DCount,DSum。
除了這些常用的函數(shù),工作表函數(shù)還包含了相當(dāng)多的高級(jí)數(shù)學(xué)計(jì)算函數(shù),比如矩陣,方差,分布,統(tǒng)計(jì),利率,虛數(shù)計(jì)算相關(guān)的函數(shù),具體需要使用的時(shí)候查閱MSDN就可以了。
在MSDN上,很多函數(shù)的很多參數(shù)是必須的,但是使用的時(shí)候,編譯器的提示是說這些參數(shù)不是必須的,這個(gè)時(shí)候以編譯器為準(zhǔn)。謹(jǐn)記,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。
基本上,如果參數(shù)是需要傳入一組數(shù)的函數(shù),都可以傳入一個(gè)數(shù)組或單元格。

實(shí)際學(xué)習(xí)過程中,我是先了解這些內(nèi)置的函數(shù)能干什么,但并不太關(guān)注細(xì)節(jié);等實(shí)際使用的時(shí)候,才會(huì)找到需要的函數(shù),匹配實(shí)現(xiàn)細(xì)節(jié)的。

全部的函數(shù)說明參見下面的MSDN鏈接:http://msdn.microsoft.com/en-us/library/bb259450(v=office.12).aspx 或者是http://msdn.microsoft.com/en-us/library/bb225774(v=office.12).aspx

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VBA語(yǔ)法概述
VBA進(jìn)階|利用VBA數(shù)組管理數(shù)據(jù)清單和表格
VBA SPLIT函數(shù)詳解
按分隔符拆分單元格終結(jié)篇,利用VBA一勞永逸解決所有這類問題
vba基礎(chǔ) 個(gè)人學(xué)習(xí)詳細(xì)筆記 知識(shí)點(diǎn)梳理
VBA函數(shù)參考
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服