ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 20079|回复: 20

[转帖] VBA常用函数(共享)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-3-31 22:24 | 显示全部楼层 |阅读模式
1,vba字符串函数列表:
Trim(string)             去掉string左右两端空白
Ltrim(string)            去掉string左端空白
Rtrim(string)            去掉string右端空白
Len(string)              计算string长度
Left(string, x)          取string左段x个字符组成的字符串
Right(string, x)         取string右段x个字符组成的字符串
Mid(string, start,x)     取string从start位开始的x个字符组成的字符串
Ucase(string)            转换为大写
Lcase(string)            转换为小写
Space(x)                 返回x个空白的字符串
Asc(string)              返回一个 integer,代表字符串中首字母的字符代码
Chr(charcode)           返回 string,其中包含有与指定的字符代码相关的字符
2,VBA转换函数列表:
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
3,VBA时间函数:
Now          返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。
Date        返回包含系统日期的 Variant (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),包含一个整数,代表某个日期是星期几
4,VBA获取文件列表:
Dir[(pathname[, attributes])] ;pathname 可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 (""); attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。
5,VBA删除文件:
Kill pathname 从磁盘中删除文件, pathname 参数是用来指定一个文件名
RmDir pathname 从磁盘中删除删除目录,pathname 参数是用来指定一个文件夹
6,用VBA打开文件:
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength] 能够对文件输入/输出 (I/O)。
pathname 必要。字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。
mode 必要。关键字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。如果未指定方式,则以 Random 访问方式打开文件。
access 可选。关键字,说明打开的文件可以进行的操作,有 Read、Write、或 Read Write 操作。
lock 可选。关键字,说明限定于其它进程打开的文件的操作,有 Shared、Lock Read、Lock Write、和 Lock Read Write 操作。
filenumber 必要。一个有效的文件号,范围在 1 到 511 之间。使用FreeFile 函数可得到下一个可用的文件号。 reclength 可选。小于或等于 32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。
说明 对文件做任何 I/O 操作之前都必须先打开文件。Open 语句分配一个缓冲区供文件进行 I/O 之用,并决定缓冲区所使用的访问方式。如果 pathname 指定的文件不存在,那么,在用 Append、Binary、Output、或 Random 方式打开文件时,可以建立这一文件。如果文件已由其它进程打开,而且不允许指定的访问类型,则 Open 操作失败,而且会有错误发生。如果 mode 是 Binary 方式,则 Len 子句会被忽略掉。
重要 在 Binary、Input 和 Random 方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件
7,VBA读入文件:
Input #filenumber, varlist 从已打开的顺序文件中读出数据并将数据指定给变量
Get [#]filenumber, [recnumber], varname将一个已打开的磁盘文件读入一个变量之中。
8,写入文件:
Write #filenumber, [outputlist] 将数据写入顺序文件
Print #filenumber, [outputlist] 将格式化显示的数据写入顺序文件中
Put [#]filenumber, [recnumber], varname 将一个变量的数据写入磁盘文件中。
9,VBA关闭文件:
Close [filenumberlist] 关闭 Open 语句所打开的输入/输出 (I/O) 文件
注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语句将数据写入文件。因为在使用 Write # 时,将数据域分界就可确保每个数据域的完整性,因此可用 Input # 再将数据读出来。使用 Write # 还能确保任何地区的数据都被正确读出。Write 与 Print # 语句不同,当要将数据写入文件时,Write # 语句会在项目和用来标记字符串的引号之间插入逗号。Write # 语句在将 outputlist 中的最后一个字符写入文件后会插入一个新行字符,即回车换行符,(Chr(13) + Chr(10))。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-3-31 22:37 | 显示全部楼层
总结的不错,顶起.

TA的精华主题

TA的得分主题

发表于 2012-3-31 23:20 | 显示全部楼层
一个都没记....平时用的时候都是录制宏,或查看帮助,或直接用application.worksheetfunction....毕竟我自己编程不是经常地

TA的精华主题

TA的得分主题

发表于 2012-4-1 09:27 | 显示全部楼层
谢谢 jygzcj大师的总结,路过学习中。

TA的精华主题

TA的得分主题

发表于 2012-4-1 09:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
总结的不错,顶起.

TA的精华主题

TA的得分主题

发表于 2012-4-1 10:38 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-4-1 11:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
总结的很实用,有没有代码对象事件属性的总结啊?刚开始学习,对系统中的各个对象和事件属性方法不甚了解,所以在编程过程中会有蛮多不知道的地方,苦恼。

TA的精华主题

TA的得分主题

发表于 2012-4-1 14:01 | 显示全部楼层
挑个刺……

总结的不好,一点也不好。

排版也不好,看起来很累。建议不同函数之间要有空行。


函数要有一些实例。否者仅仅把函数罗列出来,还不如直接看帮助文件了。



TA的精华主题

TA的得分主题

发表于 2012-4-1 14:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
字符串函数中,还有不少重要函数没有提及。


查找位置:    instr()
反向查找位置:instrrev()
重复次数:    string()
文本替换:    replace()

…………

楼主自己再做一下功课吧。呵呵。




TA的精华主题

TA的得分主题

发表于 2012-4-1 15:13 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 14:42 , Processed in 0.038001 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表