最全常用vba函数精选,掌握效率翻倍
阅读(964)
VBA (Visual Basic for Applications) 是微软 Office 套件中的一种宏语言,提供了许多内置函数,用于处理、操作数据、控制程序流程等。使用 VBA 内置函数有以下几点好处:
1、简化代码 – 内置函数使得 VBA 代码变得更简短、更易于阅读和维护。通过使用内置函数,可以节省编写代码的时间,并且可以减少代码中的错误。
2、自动化任务 – 内置函数可以帮助自动化常见任务,例如将数据从一个单元格移动到另一个单元格或对文件进行操作。
3、提高程序效率 – 内置函数可以处理大量数据,从而提高程序的执行速度和效率。
4、方便开发者 – 内置函数提供了一些有用的功能,例如日期和时间处理、字符串处理、文件操作等,方便开发者完成 VBA 程序开发。
下面提供一些VBA常用内置函数的用法,共大家学习参考:
一、判断类函数:
1、IsNumeric(x)函数
功能:用于判断一个值是否为数字,返回True或False。
用法:IsNumeric(x)
参数:x: 必需,要判断的值。
示例:
Sub IsNumericExample()
Dim str As String
str = "123"
If IsNumeric(str) Then
Debug.Print "该值为数字"
Else
Debug.Print "该值不是数字"
End If
End Sub
这个代码会输出:“该值为数字”。
2、IsDate(x)函数
功能:用于判断一个值是否为日期格式,返回True或False。
用法:IsDate(x)
参数:x: 必需,要判断的值。
示例:
Sub IsDateExample()
Dim str As String
str = "2022-01-01"
If IsDate(str) Then
Debug.Print "该值为日期格式"
Else
Debug.Print "该值不是日期格式"
End If
End Sub
这个代码会输出:“该值为日期格式”。
3、IsEmpty(x)函数
功能:用于判断一个值是否为空值,返回True或False。
用法:IsEmpty(x)
参数:x为必需,要判断的值。
示例:
Sub IsEmptyExample()
Dim str As String
If IsEmpty(str) Then
Debug.Print "该值为空值"
Else
Debug.Print "该值不是空值"
End If
End Sub
这个代码会输出:“该值为空值”。
4、IsArray(x)函数
功能:用于判断一个值是否为数组,返回True或False。
用法:IsArray(x)
参数:
x: 必需,要判断的值。
示例:
Sub IsArrayExample()
Dim arr() As Variant
If IsArray(arr) Then
Debug.Print "该值为数组类型"
Else
Debug.Print "该值不是数组类型"
End If
End Sub
5、IsError(expression)函数
功能:用于判断一个值是否为错误类型,返回True或False。
用法:IsError(expression)
参数:expression: 必需,要判断的值。
示例:
Sub IsErrorExample()
On Error Resume Next
x = 1 / 0 ' 除以0,产生一个错误
If IsError(x) Then
Debug.Print "该值为错误类型"
Else
Debug.Print "该值不是错误类型"
End If
End Sub
这个代码会输出:“该值为错误类型”。
6、IsNull(expression)函数
功能:用于判断一个值是否为Null值,返回True或False。
用法:IsNull(expression)
参数:expression: 必需,要判断的值。
示例:
Sub IsNullExample()
Dim x As Variant
x = Null
If IsNull(x) Then
Debug.Print "该值为Null值"
Else
Debug.Print "该值不是Null值"
End If
End Sub
这个代码会输出:“该值为Null值”。
7、IsObject(identifier)函数
功能:用于判断一个值是否为对象类型,返回True或False。
用法:IsObject(identifier)
参数:identifier: 必需,要判断的值。
示例:
Sub IsObjectExample()
Dim rng As Range
Set rng = Range("A1")
If IsObject(rng) Then
Debug.Print "该值为对象类型"
Else
Debug.Print "该值不是对象类型"
End If
End Sub
这个代码会输出:“该值为对象类型”。
二、VBA中的数学函数
1、Sin(X)函数
功能:用于返回一个数的正弦值。
用法:Sin(X)
参数:X: 必需,要计算正弦值的角度,以弧度表示。
示例:
Sub SinExample()
Dim x As Double
x = WorksheetFunction.Pi / 6 ' 30度
Debug.Print Sin(x) ' 输出0.5
End Sub
2、Cos(X)函数
功能:用于返回一个数的余弦值。
用法:Cos(X)
参数:X: 必需,要计算余弦值的角度,以弧度表示。
示例:
Sub CosExample()
Dim x As Double
x = WorksheetFunction.Pi / 3 ' 60度
Debug.Print Cos(x) ' 输出0.5
End Sub
3、Tan(X)函数
功能:用于返回一个数的正切值。
用法:Tan(X)
参数:X: 必需,要计算正切值的角度,以弧度表示。
示例:
Sub TanExample()
Dim x As Double
x = WorksheetFunction.Pi / 4 ' 45度
Debug.Print Tan(x) ' 输出1
End Sub
4、Atan(X)函数
功能:用于返回一个数的反正切函数值。
用法:Atan(X)
参数:X: 必需,要计算反正切函数值的值。
示例:
Sub AtanExample()
Dim x As Double
x = 1
Debug.Print Atan(x) ' 输出0.785398163397448
End Sub
5、Log(X)函数
功能:用于返回一个数的自然对数。
用法:Log(X)
参数:X: 必需,要计算自然对数的数值。
示例:
Sub LogExample()
Dim x As Double
x = 10
Debug.Print Log(x) ' 输出2.30258509299405
End Sub
6、Exp(X)函数
功能:用于返回一个数的指数值。
用法:Exp(X)
参数:X: 必需,要计算指数值的数值。
示例:
Sub ExpExample()
Dim x As Double
x = 1
Debug.Print Exp(x) ' 输出2.71828182845905
End Sub
7、Abs(X)函数
功能:用于返回一个数的绝对值。
用法:Abs(X)
参数:X: 必需,要计算绝对值的数值。
示例:
Sub AbsExample()
Dim x As Integer
x = -3
Debug.Print Abs(x) ' 输出3
End Sub
8、Int(number)函数
功能:用于返回一个数的整数部分。
用法:Int(number)
参数:number: 必需,要计算整数部分的数值。
示例:
Sub IntExample()
Dim x As Double
x = 3.14
Debug.Print Int(x) ' 输出3
End Sub
9、Fix(number)函数
功能:用于将一个数向零舍入,返回结果的整数部分。
用法:Fix(number)
参数:number: 必需,要向零舍入的数值。
示例:
Sub FixExample()
Dim x As Double
x = -3.8
Debug.Print Fix(x) ' 输出-3
End Sub
10、Sgn(number)函数
功能:用于返回一个数的符号,返回值为-1(负数),0(0),1(正数)。
用法:Sgn(number)
参数:number: 必需,要判断符号的数值。
示例:
Sub SgnExample()
Dim x As Integer
x = -5
Debug.Print Sgn(x) ' 输出-1
End Sub
11、Sqr(number)函数
功能:用于返回一个数的平方根。
用法:Sqr(number)
参数:number: 必需,要计算平方根的数值。
示例:
Sub SqrExample()
Dim x As Double
x = 16
Debug.Print Sqr(x) ' 输出4
End Sub
12、Round 函数
功能:Round 函数用于将一个数四舍五入到指定的小数位数.
语法为 Round(number, [numdecimalplaces]). 其中,number 表示需要四舍五入的数,numdecimalplaces 表示保留的小数位数,默认为 0。
示例:
Sub test()
MsgBox Round(3.1415926, 2) ' 返回 3.14
End Sub
13、Rnd(number)函数
功能:返回一个大于等于0,小于1的随机数。
用法:Rnd(number)
参数:number:可选,一个数字表达式,用于生成随机数的种子。如果省略该参数,则会使用系统时间作为种子。
Sub RndExample()
Debug.Print Rnd(1) ' 输出一个大于等于0,小于1的随机数,种子为1
End Sub
14、Choose(index, value1, value2, …)函数
功能:用于根据索引值返回列表中对应的值。
用法:Choose(index, value1, value2, …)
参数:
index: 必需,要返回的列表的索引位置。
value1: 必需,列表中第一个值。
value2: 必需,列表中第二个值。
…: 可选,其他的列表值。
示例:
Sub ChooseExample()
Dim x As Integer
x = 2
Debug.Print Choose(x, "A", "B", "C", "D") ' 输出B
End Sub
三、VBA中的字符串函数
1、Len(string)函数
功能:用于返回一个字符串的长度。
用法:Len(string)
参数:string: 必需,要计算长度的字符串。
示例:
Sub LenExample()
Dim str As String
str = "hello world"
Debug.Print Len(str) ' 输出11
End Sub
2、Left(string, length)函数
功能:用于返回字符串左边的n个字符。
用法:Left(string, length)
参数:
string: 必需,要从中提取字符的字符串。
length: 必需,要返回的字符串长度。
示例:
Sub LeftExample()
Dim str As String
str = "hello world"
Debug.Print Left(str, 5) ' 输出hello
End Sub
3、Right(string, length)函数
功能:用于返回字符串右边的n个字符。
用法:Right(string, length)
参数:
string: 必需,要从中提取字符的字符串。
length: 必需,要返回的字符串长度。
示例:
Sub RightExample()
Dim str As String
str = "hello world"
Debug.Print Right(str, 5) ' 输出world
End Sub
4、Mid(string, start, length)函数
功能:用于返回字符串中指定位置和长度的子字符串。
用法:Mid(string, start, length)
参数:
string: 必需,要返回一部分字符的字符串。
start: 必需,返回子字符串的起始位置。
length: 可选,返回子字符串的长度。
Sub MidExample()
Dim str As String
str = "hello world"
Debug.Print Mid(str, 7, 5) ' 输出world
End Sub
5、UCase(string)函数
功能:用于将字符串转换为大写字母形式。
用法:UCase(string)
参数:
string: 必需,要转换的字符串。
Sub UCaseExample()
Dim str As String
str = "hello world"
Debug.Print UCase(str) ' 输出HELLO WORLD
End Sub
6、LCase(string)函数
功能:用于将字符串转换为小写字母形式。
用法:LCase(string)
参数:
string: 必需,要转换的字符串。
示例:
Sub LCaseExample()
Dim str As String
str = "HELLO WORLD"
Debug.Print LCase(str) ' 输出hello world
End Sub
7、Trim(string)函数
功能:用于去除字符串前后的空格。
用法:Trim(string)
参数:
string: 必需,要处理的字符串。
Sub TrimExample()
Dim str As String
str = " hello world "
Debug.Print Trim(str) ' 输出hello world
End Sub
8、Replace(string, old, new, start, count, compare)函数
功能:用于替换字符串中的指定字符。
用法:Replace(string, old, new, start, count, compare)
参数:
string: 必需,要进行替换操作的字符串。
old: 必需,要被替换的字符。
new: 必需,用于替换的新字符或字符串。
示例:
Sub ReplaceExample()
Dim str As String
str = "hello world"
Debug.Print Replace(str, "o", "*", , , vbTextCompare) ' 输出hell* w*rld
End Sub
9、Str(expression)函数
功能:在VBA中,Str函数用于将一个数字转换为表示该数字的字符串。
语法:Str(expression)
参数:
expression:必需,要转换为字符串的数字或包含数字的表达式。可以是任何有效的数值表达式,包括变量、常量、字段或属性。
返回值:返回表示数字的字符串。
示例:
Sub StrExample()
Dim num As Double
num = 3.14159
Dim str As String
str = Str(num)
Debug.Print str ' 输出3.14159
End Sub
10、StrComp(string1, string2[, compare])函数
功能:用于比较两个字符串并返回比较结果。
用法:StrComp(string1, string2[, compare])
参数:
string1: 必需,要进行比较的第一个字符串。
string2: 必需,要进行比较的第二个字符串。
compare: 可选,比较模式。可以是vbBinaryCompare(区分大小写)或vbTextCompare(不区分大小写),默认为vbBinaryCompare。
返回值:
如果string1等于string2,则返回0;
如果string1在string2之前,则返回-1;
如果string1在string2之后,则返回1。
示例:
Sub StrCompExample()
Debug.Print StrComp("abc", "ABC") ' 输出1
Debug.Print StrComp("abc", "ABC", vbTextCompare) ' 输出0
End Sub
11、Chr(charcode)函数
功能:用于返回指定字符代码的字符。
用法:Chr(charcode)
参数:
charcode: 必需,要返回的字符代码。
示例:
Sub ChrExample()
Debug.Print Chr(65) ' 输出"A"
End Sub
12、Asc(string)函数
功能:用于返回字符串中第一个字符的 ASCII 码值。
用法:Asc(string)
参数:string: 必需,要返回 ASCII 码值的字符串。
示例:
Sub AscExample()
Debug.Print Asc("A") ' 输出65
End Sub
13、StrReverse(string)函数
功能:用于反转字符串中的字符顺序。
用法:StrReverse(string)
参数:string: 必需,要进行反转的字符串。
示例:
Sub StrReverseExample()
Debug.Print StrReverse("hello") ' 输出"olleh"
End Sub
14、InStr([start, ]string1, string2[, compare])函数
- 功能:在VBA中,InStr函数用于在一个字符串中搜索一个子字符串,并返回子字符串在字符串中第一次出现的位置。
- 语法:InStr([start, ]string1, string2[, compare])
- 参数:
- start:可选,表示开始搜索的位置。如果省略,则从字符串的第一个字符开始搜索。如果为负数,则从字符串的末尾开始倒计算,-1 表示从字符串的最后一个字符开始搜索。
- string1:必需,要在其中搜索的字符串。
- string2:必需,要搜索的子字符串。
- compare:可选,表示指定比较类型的常数。默认值为vbBinaryCompare。
- 返回值:如果找到子字符串,则返回子字符串在字符串中第一次出现的字符位置。如果未找到子字符串,则返回 0。
示例:
Sub InStrExample()
Dim position As Integer
position = InStr(1, "Hello, world!", "llo")
Debug.Print position ' 输出3
End Sub
15、InStrRev(string1, string2[, start[, compare]])函数
功能:用于在字符串中查找一个子字符串,并返回其从后往前的位置。
用法:InStrRev(string1, string2[, start[, compare]])
参数:
string1: 必需,要在其中搜索的字符串。
string2: 必需,要查找的子字符串。
start: 可选,用于指定开始搜索的位置。默认为字符串的最后一个字符。
compare: 可选,指定比较模式。可以是vbBinaryCompare(区分大小写)或vbTextCompare(不区分大小写),默认为vbBinaryCompare。
示例:
Sub InStrRevExample()
Dim str As String
str = "hello world"
Debug.Print InStrRev(str, "lo") ' 输出4
Debug.Print InStrRev(str, "LO", , vbTextCompare) ' 输出4
End Sub
在上面的示例中,从字符串的第 1 个位置开始搜索的,并找到字符串”llo”,返回其在字符串中第一次出现的位置,即第 3 个字符。
16、Join(expression[, delimiter])函数
功能:用于将数组中的元素组合成一个字符串。
用法:Join(expression[, delimiter])
参数:
expression: 必需,要组合的数组。
delimiter: 可选,用于指定分隔符的字符或字符串。如果省略该参数,则使用空格作为分隔符。
示例:
Sub JoinExample()
Dim arr(2) As String
arr(0) = "apple"
arr(1) = "banana"
arr(2) = "orange"
Debug.Print Join(arr, ",") ' 输出apple,banana,orange
End Sub
17、Split(expression, [delimiter], [count], [compare])函数
功能:在VBA中,Split函数用于将一个字符串拆分成一个数组,每个元素都是字符串中的一个子字符串。
语法:Split(expression, [delimiter], [count], [compare])
参数:
expression:必需,要拆分为数组的字符串。
delimiter:可选,指定拆分字符串所用的字符。如果省略,则使用空格字符作为分隔符。
count:可选,指定返回数组的最大维数。如果省略,则返回一维数组。
compare:可选,指定用于比较字符值的方法。默认值为vbBinaryCompare。
返回值:返回一个包含拆分后的字符串的数组。
示例:
Sub SplitExample()
Dim str As String
str = "apple,orange,grape"
Dim arr As Variant
arr = Split(str, ",")
Debug.Print arr(0) ' 输出apple
Debug.Print arr(2) ' 输出grape
End Sub
在上面的示例中,字符串变量str包含三个水果名,使用逗号作为分隔符进行拆分,并将结果存储在变量arr中。可以使用数组下标访问每个元素。
18、Format(expression[, format[, firstdayofweek[, firstweekofyear]]])函数
功能:用于将表达式格式化为指定格式的字符串。
用法:Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
参数:
expression: 必需,要进行格式化的表达式。
format: 可选,指定格式字符串。
firstdayofweek: 可选,指定一周的第一天。默认为当前系统设置的值(0-7,其中0代表周日,1代表周一,以此类推)。
firstweekofyear: 可选,指定一年的第一周。默认为当前系统设置的值(0-2,其中0代表一年的第一个星期至少包含四天,1代表一年的第一个星期始终包含1月1日,2表示一年的第一个星期始终包含本年的第一个工作日)。
示例:
Sub FormatExample()
Dim now As Date
now = Now()
Debug.Print Format(now, "yyyy-mm-dd hh:mm:ss") ' 输出2022-12-24 19:39:22
End Sub
四、VBA中的条件判断函数
1、If(condition, truepart, falsepart)函数
功能:用于根据条件判断返回两个值中的一个。
用法:If(condition, truepart, falsepart)
参数:
condition: 必需,要判断的条件表达式。
truepart: 必需,如果条件为True,返回的值。
falsepart: 必需,如果条件为False,返回的值。
示例:
Sub IfExample()
Dim x As Integer
x = 5
Debug.Print If(x > 3, "x大于3", "x小于等于3")
End Sub
这个代码会输出:“x大于3”。
2、Switch(expr-1, value-1[, expr-2, value-2]…, [expr-n, value-n][, default])函数
功能:用于根据多个条件进行选择。
用法:Switch(expr-1, value-1[, expr-2, value-2]…, [expr-n, value-n][, default])
参数:
expr-1: 必需,用于比较的表达式。
value-1: 必需,如果条件满足,返回的值。
expr-2: 可选,用于比较的表达式。
value-2: 可选,如果条件满足,返回的值。
expr-n: 可选,用于比较的表达式。
value-n: 可选,如果条件满足,返回的值。
default: 可选,如果所有条件都不满足,返回的值。如果省略该参数,则默认返回Null。
示例:
Sub SwitchExample()
Dim x As Integer
x = 2
Debug.Print Switch(x = 1, "x等于1", x = 2, "x等于2", x = 3, "x等于3", "x不是1、2、3中的任意一个")
End Sub
这个代码会输出:“x等于2”。
五、VBA中的日期时间函数
1、Now函数
功能:返回当前日期和时间。
用法:Now
示例:
Sub NowExample()
Debug.Print Now ' 输出当前日期和时间
End Sub
2、Date函数
功能:返回当前日期。
用法:Date
示例:
Sub DateExample()
Debug.Print Date ' 输出当前日期
End Sub
3、Time函数
功能:返回当前时间。
用法:Time
示例:
Sub TimeExample()
Debug.Print Time ' 输出当前时间
End Sub
4、Year(date)函数
功能:返回一个整数,表示指定日期的年份。
用法:Year(date)
参数:date:必需,要返回其年份部分的日期。
示例:
Sub YearExample()
Debug.Print Year(#05/20/2000#) ' 输出 2000
End Sub
5、Month(date)函数
功能:返回一个整数,表示指定日期的月份。
用法:Month(date)
参数:date:必需,要返回其月份部分的日期。
Sub MonthExample()
Debug.Print Month(#05/20/2000#) ' 输出 5
End Sub
6、Day(date)函数
功能:返回一个整数,表示指定日期的日份。
用法:Day(date)
参数:date:必需,要返回其日份部分的日期。
示例:
Sub DayExample()
Debug.Print Day(#05/20/2000#) ' 输出 20
End Sub
7、Hour(time)函数
功能:返回一个整数,表示指定时间的小时部分。
用法:Hour(time)
参数:time:必需,要返回其小时部分的时间。
示例:
Sub HourExample()
Debug.Print Hour(#4:30:45 PM#) ' 输出 16
End Sub
8、Minute(time)函数
功能:返回一个整数,表示指定时间的分钟部分。
用法:Minute(time)
参数:time:必需,要返回其分钟部分的时间。
示例:
Sub MinuteExample()
Debug.Print Minute(#4:30:45 PM#) ' 输出 30
End Sub
9、Second(time)函数
功能:返回一个整数,表示指定时间的秒部分。
用法:Second(time)
参数:time:必需,要返回其秒部分的时间。
示例:
Sub SecondExample()
Debug.Print Second(#4:30:45 PM#) ' 输出 45
End Sub
10、DateSerial(year, month, day)函数
功能:返回一个代表指定年、月、日的 Date 类型的值。
用法:DateSerial(year, month, day)
参数:
year:必需,表示要返回的日期的年份部分,可以是一个 4 位数。
month:必需,表示要返回的日期的月份部分,可以是一个从 1 到 12 的整数。
day:必需,表示要返回的日期的日份部分,可以是一个从 1 到 31 的整数,具体取值范围依赖于指定的月份和年份。
示例:
Sub DateSerialExample()
Debug.Print DateSerial(2022, 12, 31) ' 输出 Dec 31, 2022
End Sub
11、TimeSerial(hour, minute, second)函数
功能:返回一个代表指定时间的 Date 类型的值。
用法:TimeSerial(hour, minute, second)
参数:
hour:必需,表示要返回的时间的小时部分,整数从 0 到 23 范围内。
minute:必需,表示要返回的时间的分钟部分,整数从 0 到 59 范围内。
second:必需,表示要返回的时间的秒部分,整数从 0 到 59 范围内。
示例:
Sub TimeSerialExample()
Debug.Print TimeSerial(16, 30, 45) ' 输出 4:30:45 PM
End Sub
12、DateValue(datestring)函数
功能:返回由日期字符串表示的日期值。
用法:DateValue(datestring)
参数:datestring:必需,表示日期的字符串。
示例:
Sub DateValueExample()
Debug.Print DateValue("2022-12-31") ' 输出 Dec 31, 2022
End Sub
13、TimeValue(timestring)函数
功能:返回由时间字符串表示的时间值。
用法:TimeValue(timestring)
参数:timestring:必需,表示时间的字符串。
示例:
Sub TimeValueExample()
Debug.Print TimeValue("16:30:45") ' 输出 4:30:45 PM
End Sub
14、FormatDateTime(date[, format])函数
功能:将指定日期格式化为字符串。
用法:FormatDateTime(date[, format])
参数:
date:必需,需要进行格式化的日期。
format:可选,用于指定要使用的日期时间格式,可以是 vbGeneralDate、vbLongDate、vbShortDate、vbLongTime、vbShortTime 中的一种。默认为 vbGeneralDate。
示例:
Sub FormatDateTimeExample()
Debug.Print FormatDateTime(#05/20/2000#, vbShortDate) ' 输出 5/20/2000
Debug.Print FormatDateTime(#05/20/2000 14:30#, vbLongDate) ' 输出 May 20, 2000
End Sub
15、DateAdd(interval, number, date)函数
功能:用于对日期进行加减运算。
用法:DateAdd(interval, number, date)
参数:
interval: 必需,一个字符串表达式,指定要添加的时间间隔。
number: 必需,要添加的日期时间间隔数量。
date: 必需,要进行加减运算的日期。
返回值:Date 类型的值。
示例:
Sub DateAddExample()
Dim date1 As Date, date2 As Date
date1 = DateValue("2022-01-01")
date2 = DateAdd("m", 1, date1)
Debug.Print date2 ' 输出2022-02-01
End Sub
16、DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])函数
功能:用于计算两个日期之间的时间差。
用法:DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
参数:
interval: 必需,一个字符串表达式,指定要计算的时间间隔。
date1: 必需,开始日期。
date2: 必需,结束日期。
firstdayofweek: 可选,指定一周的第一天。默认为当前系统设置的值(0-7,其中0代表周日,1代表周一,以此类推)。
firstweekofyear: 可选,指定一年的第一周。默认为当前系统设置的值(0-2,其中0代表一年的第一个星期至少包含四天,1代表一年的第一个星期始终包含1月1日,2表示一年的第一个星期始终包含本年的第一个工作日)。
返回值:Long 类型的值,表示两个日期之间的时间差。
示例:
Sub DateDiffExample()
Dim date1 As Date, date2 As Date
date1 = DateValue("2022-01-01")
date2 = DateValue("2022-02-01")
Debug.Print DateDiff("d", date1, date2) ' 输出31
End Sub
17、Weekday(date[, firstdayofweek])函数
功能:返回一个整数,表示指定日期所在的星期中的第几天。
用法:Weekday(date[, firstdayofweek])
参数:
date:必需,要返回其所在星期中的某一天的日期。
firstdayofweek:可选,指定一周的第一天。默认为当前系统设置的值(0-7,其中0代表周日,1代表周一,以此类推)。
示例:
Sub WeekdayExample()
Debug.Print Weekday(#05/20/2000#) ' 输出 7,表示星期六
End Sub
18、WeekdayName(weekday[, abbreviate[, firstdayofweek]])函数
功能:返回指定星期所对应的文本值。
用法:WeekdayName(weekday[, abbreviate[, firstdayofweek]])
参数:
weekday:必需,一个整数,表示星期几。
abbreviate:可选,一个布尔值,指示是否返回缩写版的星期名称。如果省略该参数,则返回完整的星期名称。
firstdayofweek:可选,指定一周的第一天。默认为当前系统设置的值(0-7,其中0代表周日,1代表周一,以此类推)。
示例:
Sub WeekdayNameExample()
Debug.Print WeekdayName(1) ' 输出 Monday
Debug.Print WeekdayName(1, True) ' 输出 Mon
Debug.Print WeekdayName(1, False, vbSunday) ' 输出 Sunday
End Sub
19、CDate(date)函数
功能:将指定的表达式转换为日期。
用法:CDate(date)
参数:date:必需,需要转换为日期的表达式。
示例:
Sub CDateExample()
Debug.Print CDate("2022-05-20") ' 输出 5/20/2022
End Sub
20、Timer函数
功能:返回从午夜开始经过的秒数。
用法:Timer
示例:
Sub TimerExample()
Debug.Print Timer ' 输出从午夜开始经过的秒数
End Sub
好了,花了一下午的时间整理下VBA内置函数,希望对大家有所帮助,总的来说,VBA 内置函数能够提高代码的简洁性、可读性和可维护性,从而提高程序的效率和开发效率,所以需要熟悉掌握。
由o郭二爷o原创或整理--转载请注明: https://www.dszhp.com/vba-function.html
发表回复