日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vba常用函数详细介绍及示例

發(fā)布時(shí)間:2023/12/9 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vba常用函数详细介绍及示例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

收起
Abs 函數(shù)
返回將傳遞給指定數(shù)字的絕對(duì)值的相同類型的值。

語法
Abs(數(shù)字)

必需的_number_ 參數(shù)可以是vb.net教程任何有效的數(shù)值表達(dá)式。 如果 number 包含 Null,則返回 Null;如果它是未初始化的變量,則返回 0。

數(shù)字的絕對(duì)值是其無符號(hào)大小。 例如, ABS(-1)和ABS(1)都返回。 1

示例
此示例使用 Abs 函數(shù)計(jì)算數(shù)字的絕對(duì)值。

Dim MyNumber MyNumber = Abs(50.3) ' Returns 50.3. MyNumber = Abs(-50.3) ' Returns 50.3.

Int、Fix 函數(shù)
返回?cái)?shù)字的整數(shù)部分。

語法
Int(數(shù)字)

必需的_number_參數(shù)是Double或任何有效的數(shù)值表達(dá)式。 如果_number_包含null, 則返回null 。

示例
此示例演示 Int 和 Fix 函數(shù)如何返回?cái)?shù)字的整數(shù)部分。 如果為負(fù)數(shù)參數(shù),則 Int 函數(shù)將返回小于或等于該數(shù)的第一個(gè)負(fù)整數(shù); Fix 函數(shù)返回大于或等于該數(shù)的第一個(gè)負(fù)整數(shù)。

Dim MyNumber
MyNumber = Int(99.8) ’ Returns 99.
MyNumber = Fix(99.2) ’ Returns 99.

MyNumber = Int(-99.8) ’ Returns -100.
MyNumber = Fix(-99.8) ’ Returns -99.

MyNumber = Int(-99.2) ’ Returns -100.
MyNumber = Fix(-99.2) ’ Returns -99.
Rnd 函數(shù)
返回一個(gè)包含偽隨機(jī)數(shù)字的Single 。

語法
Rnd[(數(shù)字)]

可選的_Number_ 參數(shù)是一個(gè)單個(gè)或任何有效的數(shù)值表達(dá)式。

返回值
返回值

如果_Number_為

則 Rnd 生成

小于 0

使用_number_作為種子時(shí), 每次使用相同的數(shù)字。

大于 0

偽隨機(jī)序列中的下一個(gè)號(hào)碼。

等于 0

最近生成的數(shù)字。

未提供

偽隨機(jī)序列中的下一個(gè)號(hào)碼。

備注
Rnd 函數(shù)返回一個(gè)小于 1 但大于或等于 0 的值。

_Number_的值決定了Rnd生成為隨機(jī)數(shù)字的方式:

對(duì)于任何給定的原始種子,由于對(duì) Rnd 函數(shù)的每個(gè)后續(xù)調(diào)用會(huì)將之前的數(shù)字用作序列中的下一個(gè)數(shù)字的種子,因此,將生成相同的數(shù)字序列。

在調(diào)用 Rnd 之前,請(qǐng)使用不帶參數(shù)的 Randomize 語句來通過基于系統(tǒng)計(jì)時(shí)器的種子初始化隨機(jī)數(shù)字生成器。

若要生成給定范圍中的隨機(jī)整數(shù),使用此公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

此處,upperbound 是范圍中的最大數(shù)字,_lowerbound_是范圍中的最小數(shù)字。

示例
此示例使用 Rnd 函數(shù)生成一個(gè)介于 1 和 6 之間的隨機(jī)整數(shù)值。

Dim MyValue As Integer MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.

Date 函數(shù)
返回包含當(dāng)前系統(tǒng)日期的 Variant (Date)。

語法
Date

示例
此示例使用 Date 函數(shù)返回當(dāng)前系統(tǒng)日期。

Dim MyDate
MyDate = Date ’ MyDate contains the current system date.
DateAdd 函數(shù)
返回一個(gè) Variant (Date) 值,其中包含已添加了指定時(shí)間間隔的日期。

語法
DateAdd(interval, number, date)

DateAdd 函數(shù)語法包含以下命名參數(shù):

語法

Part

說明

interval

必需。 作為要添加的時(shí)間間隔的字符串表達(dá)式。

number

必需。 作為要添加的時(shí)間間隔數(shù)的數(shù)值表達(dá)式。 它可以為正(獲取將來日期)或?yàn)樨?fù)(獲取過去的日期)。

date

必需。 Variant (Date) 或文本,表示添加間隔的日期。

示例
此示例采用一個(gè)日期并使用 DateAdd 函數(shù)顯示指定月數(shù)后的對(duì)應(yīng)日期。

Dim FirstDate As Date ' Declare variables.Dim IntervalType As String Dim Number As Integer Dim Msg As String IntervalType = "m" ' "m" specifies months as interval. FirstDate = InputBox("Enter a date") Number = InputBox("Enter number of months to add") Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate) MsgBox Msg

DateDiff 函數(shù)
返回一個(gè) Variant (Long),指定兩個(gè)指定的日期之間的時(shí)間間隔數(shù)。

語法
DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )

DateDiff 函數(shù)語法包括這些命名參數(shù):

語法

Part

說明

interval

必需。 表示用于計(jì)算 date1 和 date2 之間差異的時(shí)間間隔的字符串表達(dá)式。

date1、date2

必需;Variant (Date)。 要在計(jì)算中使用的兩個(gè)日期。

firstdayofweek

可選。 一個(gè)指定一周的第一天的常量。 如果未指定,則會(huì)假定為星期日。

firstweekofyear

可選。 一個(gè)指定一年的第一周的常量。 如果未指定,則會(huì)假定 1 月 1 日出現(xiàn)的那一周為第一周。

示例
此示例使用 DateDiff 函數(shù)顯示給定日期與今天之間的天數(shù)。

Dim TheDate As Date ’ Declare variables.
Dim Msg
TheDate = InputBox(“Enter a date”)
Msg = "Days from today: " & DateDiff(“d”, Now, TheDate)
MsgBox Msg
Dir 函數(shù)
返回一個(gè) String,它表示與指定模式或文件屬性或驅(qū)動(dòng)器的卷標(biāo)匹配的文件、目錄或文件夾的名稱。

語法
Dir [ (pathname, [ attributes ] ) ]

Dir 函數(shù)語法具有以下部分:

語法

Part

說明

pathname

可選。 指定文件名的字符串表達(dá)式,可包括目錄或文件夾和驅(qū)動(dòng)器。 如果未找到 pathname,則返回零長度字符串 ("")。

attributes

可選。 其和指定文件屬性的常量或數(shù)值表達(dá)式。 如果省略它,則返回與 pathname 匹配但沒有屬性的文件。

注解
在 Microsoft Windows 中,Dir 支持使用多字符 (*) 和單字符 (?) 通配符來指定多個(gè)文件。 在 Macintosh 上,這些字符被視為有效文件名稱字符,且不能用作指定多個(gè)文件的通配符。

因?yàn)?Macintosh 不支持通配符,請(qǐng)使用文件類型來標(biāo)識(shí)文件組。 可以使用 MacID 函數(shù)指定文件類型而不是使用文件名。 例如,以下語句返回當(dāng)前文件夾中的第一個(gè) TEXT 文件的名稱:

Dir(“SomePath”, MacID(“TEXT”))
若要循環(huán)訪問文件夾中的所有文件,請(qǐng)指定一個(gè)空字符串:

Dir("")
示例
將d:\data下面的excel文件的數(shù)據(jù)合并到一個(gè)excel工作簿中

Dim s as stringDim I as integerDim w as workbookS=dir(“d:”\data\*.xls*) //dir查詢所有滿足條件的文件名稱For I =1 to 100Set w =workbooks.open(d:”\data\” & str)w.sheets(1).copy after:=thisworkbook.sheets(thisworkbook.sheets.count)thisworkbook.sheets(thisworkbook.sheets.count).name=split(w.name,.)(0)wb.close

if s=”” then //如果s等于空,說明已執(zhí)行完了最后一個(gè)文件,退出循環(huán)。如果不退出會(huì)報(bào)錯(cuò)。

exit for

end if

next

InStr 函數(shù)
返回一個(gè) **Variant **(Long) 值,指定一個(gè)字符串在另一個(gè)字符串中首次出現(xiàn)的位置。

語法
InStr([ start ], string1, string2, [ compare ])

InStr 函數(shù)語法有以下參數(shù):

語法

Part

說明

start

可選。 設(shè)置每次搜索的起始位置的數(shù)字表達(dá)式。 如果忽略,則搜索從第一個(gè)字符位置開始。 如果 start 包含 Null,則出現(xiàn)錯(cuò)誤。 如果指定了 compare,則 start 參數(shù)是必需的。

string1

必需。 要搜索的字符串表達(dá)式。

string2

必需。 搜索到的字符串表達(dá)式。

compare

可選。 指定字符串比較的類型。 如果 compare 為 Null,則將發(fā)生錯(cuò)誤。 如果省略 compare,則 Option Compare 設(shè)置將決定比較的類型。 指定有效的 LCID (LocaleID) 以在比較中使用區(qū)域設(shè)置特定規(guī)則。

示例
本示例使用 InStr 函數(shù)來返回某字符串在其他字符串中首次出現(xiàn)的位置。

Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP" ' String to search in. SearchChar = "P" ' Search for "P".' A textual comparison starting at position 4. Returns 6. MyPos = Instr(4, SearchString, SearchChar, 1) ' A binary comparison starting at position 1. Returns 9. MyPos = Instr(1, SearchString, SearchChar, 0)' Comparison is binary by default (last argument is omitted). MyPos = Instr(SearchString, SearchChar) ' Returns 9.MyPos = Instr(1, SearchString, "W") ' Returns 0.

IsNumeric 函數(shù)
返回指示表達(dá)式是否可評(píng)估為數(shù)值的“Boolean”**** 值。

語法
IsNumeric(表達(dá)式)

必需的_expression_ 參數(shù)是一個(gè)包含數(shù)值表達(dá)式或字符串表達(dá)式的Variant 。

示例
此示例使用“IsNumeric”**** 函數(shù)確定變量是否可評(píng)估為數(shù)值。

Dim MyVar, MyCheck MyVar = "53" ' Assign value. MyCheck = IsNumeric(MyVar) ' Returns True.MyVar = "459.95" ' Assign value. MyCheck = IsNumeric(MyVar) ' Returns True.MyVar = "45 Help" ' Assign value. MyCheck = IsNumeric(MyVar) ' Returns False.

Join 函數(shù)
返回通過連接數(shù)組中包含的大量子字符串創(chuàng)建的字符串。

語法
聯(lián)接(sourcearray, [定界符])

Join 函數(shù)語法包含以下命名參數(shù):

語法

sourcearray

必需。 一維度組,包含要連接的子字符串。

分隔符

可選。 用于分隔返回字符串中子字符串的字符串。 如果省略,將使用空格 ("")。 如果 delimiter 是一個(gè)零長度字符串 (""),將連接列表中的所有項(xiàng),而不使用分隔符。

LBound 函數(shù)
返回一個(gè) Long 型值,其中包含指示的數(shù)組維度的最小可用下標(biāo)。

語法
LBound(arrayname, [ dimension ])

LBound 函數(shù)的語法包含以下部分:

語法

Part

說明

arrayname

必需。 數(shù)組變量的名稱;遵循標(biāo)準(zhǔn)變量命名約定。

維度

可選;Variant (Long)。 指示返回哪個(gè)維度的下限的整數(shù)。 1 表示第一個(gè)維度,2 表示第二個(gè)維度,依此類推。 如果省略 dimension,則假定為 1。

備注
LBound函數(shù)與UBound 函數(shù)結(jié)合使用, 以確定數(shù)組的大小。 使用 UBound 函數(shù)可查找數(shù)組維度的上限。

LBound 對(duì)具有以下維度的數(shù)組返回下表中的值:

備注

語句

返回值

LBound(A, 1)

1

LBound(A, 2)

0

LBound(A, 3)

-3

任何維度的默認(rèn)下限均為0或 1, 具體取決于Option Base 語句的設(shè)置。 使用array 函數(shù)創(chuàng)建的數(shù)組的底數(shù)為零;它不受Option Base的影響。

使用Dim、 Private、 Public、 ReDim或Static語句中的To子句設(shè)置維度的數(shù)組可以有任何整數(shù)值作為下限。

示例
此示例使用 LBound 函數(shù)確定指示的數(shù)組維度的最小可用下標(biāo)。 使用 Option Base 語句可覆蓋默認(rèn)基準(zhǔn)數(shù)組下標(biāo)值 0。

Dim Lower Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' Declare array variables. Dim AnyArray(10) Lower = Lbound(MyArray, 1) ' Returns 1. Lower = Lbound(MyArray, 3) ' Returns 10. Lower = Lbound(AnyArray) ' Returns 0 or 1, depending on' setting of Option Base.

UBound 函數(shù)
返回包含指定的數(shù)組維度的最大可用下標(biāo)的Long數(shù)據(jù)類型。

語法
UBound(arrayname, [ dimension ])

UBound函數(shù)的語法包含這些部分。

語法

Part

說明

arrayname

必需。 數(shù)組變量的名稱;遵循標(biāo)準(zhǔn)變量命名約定。

維度

可選;Variant (Long)。 指示返回哪一個(gè)維度的上限的整數(shù)。 對(duì)第一個(gè)維度使用 1,對(duì)第二個(gè)維度使用 2,依此類推。 如果省略 dimension,則假定為 1。

備注
將UBound函數(shù)與LBound 函數(shù)結(jié)合使用, 以確定數(shù)組的大小。 使用 LBound 函數(shù)可查明數(shù)組維度的下限。

UBound 為具有這些維度的數(shù)組返回以下值:

示例
此示例使用 UBound 函數(shù)確定數(shù)組的指定維度的最大可用下標(biāo)。

Dim AnyString, MyStr AnyString = "Hello World" ' Define string. MyStr = Left(AnyString, 1) ' Returns "H". MyStr = Left(AnyString, 7) ' Returns "Hello W". MyStr = Left(AnyString, 20) ' Returns "Hello World".

Left 函數(shù)
返回一個(gè)包含字符串左側(cè)指定字符數(shù)的 Variant (String)。

語法
Left(string, length)

Left 函數(shù)語法包括這些命名參數(shù):

語法

Part

說明

string

必需。 從中返回最左側(cè)字符的字符串表達(dá)式。 如果_字符串_包含 Null,則返回 Null。

Length

必需;Variant (Long)。 數(shù)值表達(dá)式指示要返回多少字符。 如果為 0,則返回零長度字符串 ("")。 如果大于或等于“字符串” __ 中的字符數(shù)量,則返回整個(gè)字符串。

示例
此示例使用 Left 函數(shù)返回字符串左側(cè)指定的字符數(shù)。

Dim MyString, FirstWord, LastWord, MidWords
MyString = “Mid Function Demo” ’ Create text string.
FirstWord = Mid(MyString, 1, 3) ’ Returns “Mid”.
LastWord = Mid(MyString, 14, 4) ’ Returns “Demo”.
MidWords = Mid(MyString, 5) ’ Returns “Function Demo”.

Mid 函數(shù)
返回一個(gè) Variant (String),其中包含字符串中的指定數(shù)量的字符。

語法
Mid(string, start, [ length ])

Mid 函數(shù)語法包含以下命名參數(shù):

語法

Part

說明

string

必需。 從中返回字符的字符串表達(dá)式。 如果_字符串_包含 Null,則返回 Null。

start

必需,Long。 _字符串_中被視為開始部分的字符位置。 如果 start 大于_字符串_中的字符數(shù),則 Mid 返回零長度字符串 ("")。

Length

可選;Variant (Long)。 要返回的字符的數(shù)目。 如果省略此部分或此部分中的數(shù)目少于文本中的 length 字符數(shù)(包括 start 處的字符),則將返回從 start 位置到字符串末尾的所有字符。

示例
使用 Mid 函數(shù)返回字符串中的指定數(shù)目的字符。

Dim Upper Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' Declare array variables. Dim AnyArray(10) Upper = UBound(MyArray, 1) ' Returns 10. Upper = UBound(MyArray, 3) ' Returns 20. Upper = UBound(AnyArray) ' Returns 10.

Right 函數(shù)
返回了從字符串的右邊開始包含特定數(shù)目的字符的“變量”(“字符串”)。

語法
右(string, length)

Right函數(shù)語法具有以下命名參數(shù)。

語法

Part

說明

string

必需。 字符串表達(dá)式,從中返回最右邊的字符。 如果_字符串_包含 Null,則返回 Null。

Length

必需;Variant (Long)。 數(shù)值表達(dá)式指示要返回多少字符。 如果為 0,則返回零長度字符串 ("")。 如果大于或等于“字符串” __ 中的字符數(shù)量,則返回整個(gè)字符串。

示例
此示例使用了“權(quán)限”**** 函數(shù)已返回從字符串右邊開始的字符的指定數(shù)量。

Dim AnyString, MyStr AnyString = "Hello World" ' Define string. MyStr = Right(AnyString, 1) ' Returns "d". MyStr = Right(AnyString, 6) ' Returns " World". MyStr = Right(AnyString, 20) ' Returns "Hello World".

MsgBox 函數(shù)
在對(duì)話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè)整數(shù),指示用戶單擊的哪個(gè)按鈕。

語法
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

MsgBox 函數(shù)語法具有以下命名參數(shù):

語法

部分

說明

prompt

必需項(xiàng)。 字符串表達(dá)式在對(duì)話框中顯示為消息。 prompt 的最大長度約為 1024 個(gè)字符,具體取決于所使用的字符的寬度。 如果 prompt 包含兩行以上,則可以在每行之間使用回車符 (Chr(13))、換行符 (Chr(10)) 或回車換行符組合 (Chr(13) & Chr(10)) 將其分隔。

buttons

可選。 數(shù)值表達(dá)式,用于指定要顯示按鈕的數(shù)量和類型、要使用的圖標(biāo)樣式、默認(rèn)按鈕的標(biāo)識(shí)和消息框的形式的值之和。 如果省略,則 buttons 的默認(rèn)值為 0。

title

可選。 對(duì)話框標(biāo)題欄中顯示的字符串表達(dá)式。 如果省略 title,則標(biāo)題欄中將顯示應(yīng)用程序名稱。

helpfile

可選。 用于標(biāo)識(shí)幫助文件的字符串表達(dá)式,前者用于為對(duì)話框提供上下文相關(guān)的幫助。 如果提供 helpfile,則也必須提供 context。

context

可選。 幫助上下文數(shù)值的數(shù)值表達(dá)式,該數(shù)值由幫助作者為相應(yīng)的幫助主題分配。 如果提供 context,則也必須提供 helpfile。

示例
此示例使用 MsgBox 函數(shù),在具有“是”和“否”按鈕的對(duì)話框中顯示嚴(yán)重錯(cuò)誤消息。 指定的默認(rèn)響應(yīng)為選擇“否”按鈕。 MsgBox 函數(shù)返回的值取決于用戶選擇的按鈕。 此示例假定 DEMO.HLP 為幫助文件,該文件包含幫助上下文數(shù)值等于 1000 的主題。

Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Do you want to continue ?" ' Define message. Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons. Title = "MsgBox Demonstration" ' Define title. Help = "DEMO.HLP" ' Define Help file. Ctxt = 1000 ' Define topic context. ' Display message. Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then ' User chose Yes.MyString = "Yes" ' Perform some action. Else ' User chose No.MyString = "No" ' Perform some action. End If

Split 函數(shù)
返回包含指定數(shù)目的子字符串的從零開始的一維數(shù)組。

語法
Split(expression,[定界符,[ limit,[ compare ]]]

TimeSerial 函數(shù)語法具有以下命名參數(shù):

語法

Part

說明

expression

必需。 包含子字符串和分隔符的字符串表達(dá)式。 如果 expression 是零長度字符串 (""),則 Split 返回空數(shù)組,即不包括任何元素和數(shù)據(jù)的數(shù)組。

分隔符

可選。 用于標(biāo)識(shí)子字符串限制的 String 字符。 如果省略,則假定空格符 (" ") 為分隔符。 如果 delimiter 是零長度字符串,則返回包含完整 expression 字符串的只含單一元素的數(shù)組。

數(shù)

可選。 要返回的子字符串的數(shù)目;-1 表示返回所有子字符串。

compare

可選。 指示計(jì)算子字符串時(shí)使用的比較類型的數(shù)值。 請(qǐng)參閱“設(shè)置”部分以了解各個(gè)值。

示例
本示例演示如何使用Split函數(shù)。

Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Do you want to continue ?" ' Define message. Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons. Title = "MsgBox Demonstration" ' Define title. Help = "DEMO.HLP" ' Define Help file. Ctxt = 1000 ' Define topic context. ' Display message. Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then ' User chose Yes.MyString = "Yes" ' Perform some action. Else ' User chose No.MyString = "No" ' Perform some action. End If

總結(jié)

以上是生活随笔為你收集整理的vba常用函数详细介绍及示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。