Abs 函数
返回将传递给指定数字的绝对值的相同类型的值。
语法
Abs(数字)
必需的_number_ 参数可以是任何有效的数值表达式。 如果 number 包含 Null,则返回 Null;如果它是未初始化的变量,则返回 0。
数字的绝对值是其无符号大小。 例如, ABS(-1)和ABS(1)都返回。 1
示例
此示例使用 Abs 函数计算数字的绝对值。
Dim MyNumberMyNumber = Abs(50.3) ' Returns 50.3.MyNumber = Abs(-50.3) ' Returns 50.3.Int、Fix 函数
返回数字的整数部分。
语法
Int(数字)
必需的_number_参数是Double或任何有效的数值表达式。 如果_number_包含null, 则返回null 。
示例
此示例演示 Int 和 Fix 函数如何返回数字的整数部分。 如果为负数参数,则 Int 函数将返回小于或等于该数的第一个负整数; Fix 函数返回大于或等于该数的第一个负整数。
Dim MyNumberMyNumber = 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 函数
返回一个包含伪随机数字的Single 。
语法
Rnd[(数字)]
可选的_Number_ 参数是一个单个或任何有效的数值表达式。
返回值
返回值
如果_Number_为
则 Rnd 生成
小于 0
使用_number_作为种子时, 每次使用相同的数字。
大于 0
伪随机序列中的下一个号码。
等于 0
最近生成的数字。
未提供
伪随机序列中的下一个号码。
备注
Rnd 函数返回一个小于 1 但大于或等于 0 的值。
_Number_的值决定了Rnd生成为随机数字的方式:
对于任何给定的原始种子,由于对 Rnd 函数的每个后续调用会将之前的数字用作序列中的下一个数字的种子,因此,将生成相同的数字序列。
在调用 Rnd 之前,请使用不带参数的 Randomize 语句来通过基于系统计时器的种子初始化随机数字生成器。
若要生成给定范围中的随机整数,使用此公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
此处,upperbound 是范围中的最大数字,_lowerbound_是范围中的最小数字。
示例
此示例使用 Rnd 函数生成一个介于 1 和 6 之间的随机整数值。
Dim MyValue As IntegerMyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.Date 函数
返回包含当前系统日期的 Variant (Date)。
语法
Date
示例
此示例使用 Date 函数返回当前系统日期。
Dim MyDateMyDate = Date ' MyDate contains the current system date.DateAdd 函数
返回一个 Variant (Date) 值,其中包含已添加了指定时间间隔的日期。
语法
DateAdd(interval, number, date)
DateAdd 函数语法包含以下命名参数:
语法
Part
说明
interval
必需。 作为要添加的时间间隔的字符串表达式。
number
必需。 作为要添加的时间间隔数的数值表达式。 它可以为正(获取将来日期)或为负(获取过去的日期)。
date
必需。 Variant (Date) 或文本,表示添加间隔的日期。
示例
此示例采用一个日期并使用 DateAdd 函数显示指定月数后的对应日期。
Dim FirstDate As Date ' Declare variables.
Dim IntervalType As StringDim Number As IntegerDim Msg As StringIntervalType = "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 MsgDateDiff 函数
返回一个 Variant (Long),指定两个指定的日期之间的时间间隔数。
语法
DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )
DateDiff 函数语法包括这些命名参数:
语法
Part
说明
interval
必需。 表示用于计算 date1 和 date2 之间差异的时间间隔的字符串表达式。
date1、date2
必需;Variant (Date)。 要在计算中使用的两个日期。
firstdayofweek
可选。 一个指定一周的第一天的常量。 如果未指定,则会假定为星期日。
firstweekofyear
可选。 一个指定一年的第一周的常量。 如果未指定,则会假定 1 月 1 日出现的那一周为第一周。
示例
此示例使用 DateDiff 函数显示给定日期与今天之间的天数。
Dim TheDate As Date ' Declare variables.Dim MsgTheDate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d", Now, TheDate)MsgBox MsgDir 函数
返回一个 String,它表示与指定模式或文件属性或驱动器的卷标匹配的文件、目录或文件夹的名称。
语法
Dir [ (pathname, [ attributes ] ) ]
Dir 函数语法具有以下部分:
语法
Part
说明
pathname
可选。 指定文件名的字符串表达式,可包括目录或文件夹和驱动器。 如果未找到 pathname,则返回零长度字符串 ("")。
attributes
可选。 其和指定文件属性的常量或数值表达式。 如果省略它,则返回与 pathname 匹配但没有属性的文件。
注解
在 Microsoft Windows 中,Dir 支持使用多字符 (*) 和单字符 (?) 通配符来指定多个文件。 在 Macintosh 上,这些字符被视为有效文件名称字符,且不能用作指定多个文件的通配符。
因为 Macintosh 不支持通配符,请使用文件类型来标识文件组。 可以使用 MacID 函数指定文件类型而不是使用文件名。 例如,以下语句返回当前文件夹中的第一个 TEXT 文件的名称:
Dir("SomePath", MacID("TEXT"))
若要循环访问文件夹中的所有文件,请指定一个空字符串:
Dir("")示例
将d:\data下面的excel文件的数据合并到一个excel工作簿中
Dim s as string
Dim I as integer
Dim w as workbook
S=dir(“d:”\data\*.xls*”) //dir查询所有满足条件的文件名称
For I =1 to 100
Set 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等于空,说明已执行完了最后一个文件,退出循环。如果不退出会报错。
exit for
end if
next
InStr 函数
返回一个 **Variant **(Long) 值,指定一个字符串在另一个字符串中首次出现的位置。
语法
InStr([ start ], string1, string2, [ compare ])
InStr 函数语法有以下参数:
语法
Part
说明
start
可选。 设置每次搜索的起始位置的数字表达式。 如果忽略,则搜索从第一个字符位置开始。 如果 start 包含 Null,则出现错误。 如果指定了 compare,则 start 参数是必需的。
string1
必需。 要搜索的字符串表达式。
string2
必需。 搜索到的字符串表达式。
compare
可选。 指定字符串比较的类型。 如果 compare 为 Null,则将发生错误。 如果省略 compare,则 Option Compare 设置将决定比较的类型。 指定有效的 LCID (LocaleID) 以在比较中使用区域设置特定规则。
示例
本示例使用 InStr 函数来返回某字符串在其他字符串中首次出现的位置。
Dim SearchString, SearchChar, MyPosSearchString ="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 函数
返回指示表达式是否可评估为数值的“Boolean”**** 值。
语法
IsNumeric(表达式)
必需的_expression_ 参数是一个包含数值表达式或字符串表达式的Variant 。
示例
此示例使用“IsNumeric”**** 函数确定变量是否可评估为数值。
Dim MyVar, MyCheckMyVar = "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 函数
返回通过连接数组中包含的大量子字符串创建的字符串。
语法
联接(sourcearray, [定界符])
Join 函数语法包含以下命名参数:
语法
sourcearray
必需。 一维度组,包含要连接的子字符串。
分隔符
可选。 用于分隔返回字符串中子字符串的字符串。 如果省略,将使用空格 ("")。 如果 delimiter 是一个零长度字符串 (""),将连接列表中的所有项,而不使用分隔符。
LBound 函数
返回一个 Long 型值,其中包含指示的数组维度的最小可用下标。
语法
LBound(arrayname, [ dimension ])
LBound 函数的语法包含以下部分:
语法
Part
说明
arrayname
必需。 数组变量的名称;遵循标准变量命名约定。
维度
可选;Variant (Long)。 指示返回哪个维度的下限的整数。 1 表示第一个维度,2 表示第二个维度,依此类推。 如果省略 dimension,则假定为 1。
备注
LBound函数与**UBound** 函数结合使用, 以确定数组的大小。 使用 UBound 函数可查找数组维度的上限。
LBound 对具有以下维度的数组返回下表中的值:
备注
语句
返回值
LBound(A, 1)
1
LBound(A, 2)
0
LBound(A, 3)
-3
任何维度的默认下限均为0或 1, 具体取决于**Option Base** 语句的设置。 使用**array** 函数创建的数组的底数为零;它不受Option Base的影响。
使用Dim、 Private、 Public、 ReDim或Static语句中的To子句设置维度的数组可以有任何整数值作为下限。
示例
此示例使用 LBound 函数确定指示的数组维度的最小可用下标。 使用 Option Base 语句可覆盖默认基准数组下标值 0。
Dim LowerDim 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 函数
返回包含指定的数组维度的最大可用下标的Long数据类型。
语法
UBound(arrayname, [ dimension ])
UBound函数的语法包含这些部分。
语法
Part
说明
arrayname
必需。 数组变量的名称;遵循标准变量命名约定。
维度
可选;Variant (Long)。 指示返回哪一个维度的上限的整数。 对第一个维度使用 1,对第二个维度使用 2,依此类推。 如果省略 dimension,则假定为 1。
备注
将UBound函数与**LBound** 函数结合使用, 以确定数组的大小。 使用 LBound 函数可查明数组维度的下限。
UBound 为具有这些维度的数组返回以下值:
示例
此示例使用 UBound 函数确定数组的指定维度的最大可用下标。
Dim AnyString, MyStrAnyString = "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 函数
返回一个包含字符串左侧指定字符数的 Variant (String)。
语法
Left(string, length)
Left 函数语法包括这些命名参数:
语法
Part
说明
string
必需。 从中返回最左侧字符的字符串表达式。 如果_字符串_包含 Null,则返回 Null。
Length
必需;Variant (Long)。 数值表达式指示要返回多少字符。 如果为 0,则返回零长度字符串 ("")。 如果大于或等于“字符串” __ 中的字符数量,则返回整个字符串。
示例
此示例使用 Left 函数返回字符串左侧指定的字符数。
Dim MyString, FirstWord, LastWord, MidWordsMyString = "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 函数
返回一个 Variant (String),其中包含字符串中的指定数量的字符。
语法
Mid(string, start, [ length ])
Mid 函数语法包含以下命名参数:
语法
Part
说明
string
必需。 从中返回字符的字符串表达式。 如果_字符串_包含 Null,则返回 Null。
start
必需,Long。 _字符串_中被视为开始部分的字符位置。 如果 start 大于_字符串_中的字符数,则 Mid 返回零长度字符串 ("")。
Length
可选;Variant (Long)。 要返回的字符的数目。 如果省略此部分或此部分中的数目少于文本中的 length 字符数(包括 start 处的字符),则将返回从 start 位置到字符串末尾的所有字符。
示例
使用 Mid 函数返回字符串中的指定数目的字符。
Dim UpperDim 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 函数
返回了从字符串的右边开始包含特定数目的字符的“变量”****(“字符串”****)。
语法
右(string, length)
Right函数语法具有以下命名参数。
语法
Part
说明
string
必需。 字符串表达式,从中返回最右边的字符。 如果_字符串_包含 Null,则返回 Null。
Length
必需;Variant (Long)。 数值表达式指示要返回多少字符。 如果为 0,则返回零长度字符串 ("")。 如果大于或等于“字符串” __ 中的字符数量,则返回整个字符串。
示例
此示例使用了“权限”**** 函数已返回从字符串右边开始的字符的指定数量。
Dim AnyString, MyStrAnyString = "Hello World" ' Define string.MyStr = Right(AnyString, 1) ' Returns "d".MyStr = Right(AnyString, 6) ' Returns " World".MyStr = Right(AnyString, 20) ' Returns "Hello World".MsgBox 函数
在对话框中显示消息,等待用户单击按钮,并返回一个整数,指示用户单击的哪个按钮。
语法
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
MsgBox 函数语法具有以下命名参数:
语法
部分
说明
prompt
必需项。 字符串表达式在对话框中显示为消息。 prompt 的最大长度约为 1024 个字符,具体取决于所使用的字符的宽度。 如果 prompt 包含两行以上,则可以在每行之间使用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符组合 (Chr(13) & Chr(10)) 将其分隔。
buttons
可选。 数值表达式,用于指定要显示按钮的数量和类型、要使用的图标样式、默认按钮的标识和消息框的形式的值之和。 如果省略,则 buttons 的默认值为 0。
title
可选。 对话框标题栏中显示的字符串表达式。 如果省略 title,则标题栏中将显示应用程序名称。
helpfile
可选。 用于标识帮助文件的字符串表达式,前者用于为对话框提供上下文相关的帮助。 如果提供 helpfile,则也必须提供 context。
context
可选。 帮助上下文数值的数值表达式,该数值由帮助作者为相应的帮助主题分配。 如果提供 context,则也必须提供 helpfile。
示例
此示例使用 MsgBox 函数,在具有“是”和“否”按钮的对话框中显示严重错误消息。 指定的默认响应为选择“否”按钮。 MsgBox 函数返回的值取决于用户选择的按钮。 此示例假定 DEMO.HLP 为帮助文件,该文件包含帮助上下文数值等于 1000 的主题。
Dim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = "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 函数
返回包含指定数目的子字符串的从零开始的一维数组。
语法
Split(expression,[定界符,[ limit,[ compare ]]]
TimeSerial 函数语法具有以下命名参数:
语法
Part
说明
expression
必需。 包含子字符串和分隔符的字符串表达式。 如果 expression 是零长度字符串 (""),则 Split 返回空数组,即不包括任何元素和数据的数组。
分隔符
可选。 用于标识子字符串限制的 String 字符。 如果省略,则假定空格符 (" ") 为分隔符。 如果 delimiter 是零长度字符串,则返回包含完整 expression 字符串的只含单一元素的数组。
数
可选。 要返回的子字符串的数目;-1 表示返回所有子字符串。
compare
可选。 指示计算子字符串时使用的比较类型的数值。 请参阅“设置”部分以了解各个值。
示例
本示例演示如何使用Split函数。
Dim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = "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
每天学一点,薪资翻一番。
在公众号“学会数据分析”中回复wps可获取带vba版和其他高级版本的免费破解版wps
之后后会整理更全面的函数分享到公众号中
标签: 字符串
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。