怎麼在vba中使用excel函數?VBA肯定能調用工作表函數,調用方法也是很簡單,隻需在函數名稱前面加上:Application.WorksheetFunction.函數名(參數)其參數的使用規則與在工作表中使用要求完全一緻除了能調用工作表函數,VBA自身内置也有很多函數可以使用因為是VBA自身内置的函數,所以在使用時,在前面可以加上:VBA.函數名,也或者直接調用寫函數名經常有人可能用不同版本的辦公程序打開有代碼的工作簿,結果就有可能會出現如“找不到工程或庫”的提示怎麼辦呢?如果是因為VBA自身内置函數的原因,則可以在前加上“VBA.”就行了當然,也可在 VBE界面中菜單【工具】->【引用】打開引用對話框,查找帶勾項中含“丢失…”、“找不到…”、“MISSING…”的條目,并取消勾選,确定,基本就可以了現在總結下常用的VBA自身内置函數如下(中間文字過長,或以跳轉到最下面看看“其他常用函數”,很有用的哦):,今天小編就來聊一聊關于怎麼在vba中使用excel函數?接下來我們就一起去研究一下吧!
VBA肯定能調用工作表函數,調用方法也是很簡單,隻需在函數名稱前面加上:Application.WorksheetFunction.函數名(參數)。其參數的使用規則與在工作表中使用要求完全一緻。除了能調用工作表函數,VBA自身内置也有很多函數可以使用。因為是VBA自身内置的函數,所以在使用時,在前面可以加上:VBA.函數名,也或者直接調用寫函數名。經常有人可能用不同版本的辦公程序打開有代碼的工作簿,結果就有可能會出現如“找不到工程或庫”的提示。怎麼辦呢?如果是因為VBA自身内置函數的原因,則可以在前加上“VBA.”就行了。當然,也可在 VBE界面中菜單【工具】->【引用】打開引用對話框,查找帶勾項中含“丢失…”、“找不到…”、“MISSING…”的條目,并取消勾選,确定,基本就可以了。現在總結下常用的VBA自身内置函數如下(中間文字過長,或以跳轉到最下面看看“其他常用函數”,很有用的哦。):
測試類函數:IsNumeric(x) - 是否為數字, 返回Boolean結果。
IsDate(x) - 是否是日期, 返回Boolean結果。
IsEmpty(x) - 是否為Empty, 返回Boolean結果。
IsArray(x) - 指出變量是否為一個數組。
IsError(expression)- 指出表達式是否為一個錯誤值。
IsNull(expression)- 指出表達式是否不包含任何有效數據 (Null)。
IsObject(identifier)- 指出标識符是否表示對象變量。
數學函數:Sin(X)、Cos(X)、Tan(X)、Atan(x) - 三角函數,單位為弧度。
Log(x)、Exp(x) - 返回x的自然對數,指數。
Abs(x) - 返回x的絕對值。
Int(number)、Fix(number) - 都返回參數的整數部分,區别:Int 将 -8.4 轉換成 -9,而 Fix 将-8.4 轉換成 -8。
Sgn(number) - 返回一個 Variant (Integer),指出參數的正負号。
Sqr(number) - 返回一個 Double,指定參數的平方根。VarType(varname) -返回一個 Integer,指出變量的子類型。
Rnd(x) - 返回0-1之間的單精度數據,x為随機種子。
Round(x,y)- 把x四舍五入得到保留y位小數的值。
字符串函數:Trim(string)、Ltrim(string)、Rtrim(string) - 去掉string左右兩端空白,左邊的空白,右邊的空白。
Len(string) - 計算string長度
Replace(expression,find,replace)- 替換字符串。
Left(string, x)、Right(string, x)、Mid(string, start,x)- 取string左/右/指定段x個字符組成的字符串Ucase(string)、
Lcase(string) - 轉換字符串為大、小寫Space(x) - 返回x個空白的字符串
Asc(string) - 返回一個 integer,代表字符串中首字母的字符代碼
Chr(charcode) - 返回 string,其中包含有與指定的字符代碼相關的字符
InStr() - 返回一個字符串在另外一個字符串中的位置,返回值為Variant(Long)型。
轉換函數:CBool(expression)- 轉換為Boolean型
CByte(expression)- 轉換為Byte型
CCur(expression) -轉換為Currency型
CDate(expression)- 轉換為Date型
CDbl(expression) -轉換為Double型
CDec(expression)- 轉換為Decemal型
CInt(expression) -轉換為Integer型
CLng(expression) -轉換為Long型
CSng(expression) -轉換為Single型
CStr(expression) -轉換為String型
CVar(expression) - 轉換為Variant型
Val(string) - 轉換為數據型
Str(number) - 轉換為String
時間函數:Now、Date、Time - 返回一個 Variant (Date),根據計算機系統設置的日期和時間來指定日期和時間。
Timer - 返回一個 Single,代表從午夜開始到現在經過的秒數。
TimeSerial(hour,minute, second) - 返回一個 Variant (Date),包含具有具體時、分、秒的時間。
DateDiff(interval,date1, date2[, firstdayofweek[, firstweekofyear]]) - 返回 Variant (Long) 的值,表示兩個指定日期間的時間間隔數目。
Second(time) - 返回一個 Variant (Integer),其值為 0 到 59 之間的整數,表示一分鐘之中的某個秒。
Minute(time) - 返回一個 Variant (Integer),其值為 0 到 59 之間的整數,表示一小時中的某分鐘。
Hour(time) - 返回一個 Variant (Integer),其值為 0 到 23 之間的整數,表示一天之中的某一鐘點。
Day(date) - 返回一個 Variant (Integer),其值為 1 到 31 之間的整數,表示一個月中的某一日
Month(date) - 返回一個 Variant (Integer),其值為 1 到 12 之間的整數,表示一年中的某月。
Year(date) - 返回 Variant (Integer),包含表示年份的整數。
Weekday(date,[firstdayofweek]) - 返回一個 Variant (Integer),包含一個整數,代表某個日期是星期幾。
其它常用函數:Shell - 運行一個可執行的程序。
InputBox - 這個太熟悉了,簡單輸入對話框。這個需要注意與Application.InputBox(更強大,内置容錯處理,選擇取消後返回false)區分,而這個函數不含有容錯處理,而且選擇取消後返回空串(零個字節的字符串)。
MsgBox - 這個更不用說了,簡單信息顯示對話框,其實也是一種簡單的輸入手段。
Join - 連接數組成字符串。
Split - 拆分字符串成數組。
RGB - 返回指定R、G、B分量的顔色數值。
Dir - 查找文件或者文件夾。
IIF(expression,truePart, falsePart) - IF語句的“簡化版本”(比喻,當然并不一樣);expression為true的話返回truePart,否則返回falseParth。Choose(index,choice1,...choiceN) - 選擇指定Index的表達式,Index可選範圍是1到選項的總數。
Switch(exp1,value1,exp2,value2,...expN,valueN)- 從左至右計算每個exp的值,返回首先為true的表達式對應的value部分。如果所有的exp值都不為true,則返回Null。注意雖然隻返回一個部分,但是這裡所有的表達式exp1到expN都是要被計算的,實際使用中要注意這個副作用。
點擊關注,可以閱讀更多與VBA 相關的文章私信 VBA或 vba 可以獲取文章中含VBA代碼的Excle文件,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!