• VBA 入门 函数(三)


    (大部分搜集于网络博客 总结整理)

    字符串函数

    ====================================================================================

    mid(字符串,从第几个开始,长度)  在[字符串]中[从第几个开始]取出[长度个字符串]
    例如 mid("小欣无敌",1,3) 则返回 "小欣无"
     
    instr(从第几个开始,字符串1,字符串2) 从规定的位置开始查找,返回字符串2在字符串1中的位置
    例如 instr(1,"小欣无敌","小") 则返回 1,instr(2,"小欣无敌","小"),则返回 0 。 0 表示未找到
     
    InStrRev(字符串1,字符串2,从第几个开始) 从规定的位置开始,从后住前查找,返回字符串2在字符串1中的位置,此处注意,虽是从后住前查找,但是返回的值还是从前往后算的。
    例如 instrRev("小欣无敌","小",2) 则返回 2 ; instrRev("小欣无敌","欣",1) 则返回 0 ,因为它从"小欣无敌"的第1个字开始往前查找,所以找不到 。0 表示未找到
     
    left(字符串,长度) 从[字符串]的左边开始返回[长度]个字符
    例如 Left("小欣无敌,3) 则返回 "小欣无"
     
    right(字符串,长度) 从[字符串]的右边开始返回[长度]个字符
    例如 Right("小欣无敌",3) 则返回 "欣无敌"
     
    ucase(字符串) 返回[字符串]的大写形式,只对英文字符有效
    例如 ucase("xiaoXINwuDi") 则返回 "XIAOXINWUDI"
     
    lcase(字符串) 返回[字符串]的小写形式,只对英文字符有效
    例如 lcase("xiaoXINwuDi") 则返回 "xiaoxinwudi"
     
    asc(字符) 返回[字符]的ascii编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程
    例如 asc("小") 则返回 -12127 ; asc("小欣无敌") 也返回 -12127
     
    chr(ASCii编码) 返回[Ascii]编码所代表的字符,和Chr()函数是一个可逆的过程
    例如 chr(-12127) 则返回 "小" ;chr(asc("小")) 则返回"小"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本)
     
    trim(字符串) 返回去掉了前、后之后的[字符串]
    例如 trim("   小 欣   无敌   ") 则返回 "小 欣   无敌" ,中间的空格不受任何影响
     
    string(个数,字符) 返回[个数]个[字符]
    例如 string(3,"小") 则返回 "小小小" , 而 string(3,"小欣无敌") 也返回 "小",只有首字符才有效
     
    space(个数) 返回[个数]个空格
    例如 space(5) 则返回 "   "
     
    strconv(字符串,转换的类型) 将字符串转成指定的类型。常用的类型只有两个,vbwide 半角转成全角,vbNarrow 全角转成半角
    例如 strconv("xiao",vbwide) 则返回 "XIAO",而strconv("XIAO",vbnarrow) 则返回 "XIAO"
    ’备注 vbwide = 4 ,vbnarrow = 8
     
    len(字符串) 返回[字符串]的长度
    例如 len("小欣无敌") 则返回 4

    格式化函数===================================================================================

    Format[$] ( expr [ , fmt ] )
    format 返回变体型
    format$ 强制返回为文本
    --------------------------------
    数字类型的格式化
    --------------------------------

        固定格式参数:
        General Number 普通数字,如可以用来去掉千位分隔号
        format$("100,123.12","General Number") 返回值 100123.12
       
        Currency 货币类型,可添加千位分隔号和货币符号
        format$("100123.12","Currency") 返回值 ¥100,123.12
       
        Fixed 格式为带两位小数的数字
        format$("100123","Fixed") 返回值 100123.00
       
        Standard 标准,即带千位分隔号和两位小数
        format$("100123","Standard") 返回值 100,123.00
       
        Percent 百分数
        format$("100123","Percent") 返回值 10012300.00%
       
        Scientific 科学记数法
        format$("100123","Scientific") 返回值 1.00E+05
       
        Yes/No 当值为0时返回 NO,否则返回 YES
        format$("100123","Yes/No") 返回值 Yes
       
        True/False 当值为0时返回 False,否则返回 True
        format$("100123","True/False") 返回值 True
       
        On/Off 当值为0时返回 Off,否则返回 On
        format$("100123","Yes/No") 返回值 On
        自定义格式参数
       
        "" 不进行格式化 返回值 原值
       
        0 占位格式化,不足补0
        format$("100123","0000000") 返回值 0100123
       
        # 占位格式化,不足时不补0
        format$("100123","#######") 返回值 100123
       
        . 强制显示小数点
        format$("100123.12",".000") 返回值 100123.120
       
        % 转化为百分数,一个%代表乘以100
        format$("10.23","0.00%") 返回值 1023.00%
        format$("10.23","0.00%%") 返回值 102300.00%%
       
        , 以千为单位格化
        format$("10.23",",") 返回值 0
        format$("10010.23",",") 返回值 10
        format$("10010.23",",0.00") 返回值 10.01
       
        E- E+ e- e+ 显示为科学记数(要注意格式语句,否则会和E的其它含义相混)
        Format$(12.5,"0.00E+00") 返回值 1.25E+01
       
        $ 强制显示货币符号
        format$("10.23","{threadcontent}.00") 返回值 ¥10.23
       
        - + ( ) space 按位置显示本样
        Format$("1234.56","-(0.00)") 返回值 -(1234.56)
       
        \ 转义符,显示出特殊符号
        Format$("1234.56","\#.00") 返回值 #1234.56
       
        "ABC" 显示双引号 (" ") 之内的字符串。如在代码中想在 format 中包含一个字符串,必须用 Chr(34) 将文本括起来(34 为双引号 ("))
        Format$(123.45,"TTT") 返回值 TTT
        注:当双引号中的文本包含特殊的参数符号如e,要使用转义符"\",否则会按e的作用显示
       
        ; 类似多目运算符的作用。
       
        当共有 四 部分时,
        当大于0时,按第一部分进行格式化,
        当小于0时按第二部分进行格式化,
        当等于0时按第三部分进行格式化,
        当为null值时,按第四部分进行格式化。如:
        Format$(0,"0.00;负数;零;空") 返回值 零
       
        当共有 三 部分时,
        当大于0时,按第一部分进行格式化,
        当小于0时按第二部分进行格式化,
        当等于0时按第三部分进行格式化,如:
        Format$(-10,"0.00;ttt;零") 返回值 ttt
       
        当共有 两 部分时,
        当大于或等于0时,按第一部分进行格式化,
        当小于0时按第二部分进行格式化,
        Format$(-123,"0.00;abc") 返回值 abc
        Format$(123,"0.00;abc") 返回值 123.00
       
        当共有 一 部分时,按分号左边进行格式化

    ---------------------------------
    日期类型的格式化
    ---------------------------------
        注意:在中文操作系统中,系统自动将月份输为如:五月,而非 May
       
        固定格式参数
        General Date 基本类型
        Format$(Now,"General Date") 返回值 2006-5-25 14:56:15
       
        Long Date 操作系统定义的长日期
        Format$(Now,"Long Date") 返回值 2006年5月25日
       
        Medium Date 中日期(yy/mmm/dd)
        Format$(Now,"Medium Date") 返回值 06-5月-25
       
        Short Date 操作系统定义的短日期
        Format$(Now,"Short Date") 返回值 2006-5-25
       
        Long Time 操作系统定义的长时间
        Format$(Now,"Long Time") 返回值 15:06:36
       
        Medium Time 带AM/PM的12小时制,不带秒
        Format$(Now,"Medium Time") 返回值 03:08 PM
       
        Short Time 24时制的时间,不带秒
        Format$(Now,"Short Time") 返回值 15:08
       
        自定义格式参数
        : 用来标识时间字符的间隔
        Format$(Time(),"hh:nn") 返回值 15:25
       
        / 用来标识日期字符的间隔
        Format$(now,"yyyy/mm/dd") 返回值 2006-05-25
       
        c 格式化为国标的日期和时间
        Format$(Now,"c") 返回值 2006-5-25 14:56:15
       
        y 一年中的第几天
        Format$(Now,"y") 返回值 145
       
        d 一个月中的第几天(1-366)
        Format$(Now,"d") 返回值 25
       
        dd 当小于10时前面带0的天数(01-31)
        Format$("2006-1-7","dd") 返回值 07
       
        ddd 周几
        Format$(Now,"ddd") 返回值 周四
       
        dddd 星期几
        Format$(Now,"dddd") 返回值 星期四
       
        ddddd 显示标准日期
        Format$(Now,"ddddd") 返回值 2006-05-25
       
        dddddd 长日期
        Format$(Now,"dddddd") 返回值 2006年5月25日
       
        w 一个星期中的第几天
        Format$(Now,"w") 返回值 5
       
        ww 一年中的第几周
        Format$(Now,"ww") 返回值 21
       
        m 月数(注:当用于时间时,也可以表时为分钟)
        Format$(Now,"m") 返回值 5
        Format$(Now,"h:m") 返回值 16:11
       
        mm 当小于10时前面带0的月数(注:当用于时间时,也可以表时为带0的分钟)
        Format$(Now,"m") 返回值 05
        Format$(Now,"hh:mm") 返回值 16:09
       
        mmm 月份
        Format$(Now,"mmm") 返回值 五月
       
        q 一年中的第几季(1-4)
        Format$(Now,"q") 返回值 2
       
        yy 两位数的年份(00-99)
        Format$(Now,"yy") 返回值 06
       
        yyyy 四位数的年份(0100-9999)
        Format$(Now,"yyyy") 返回值 2006
       
        h 一天中的第N小时(0-23)
        Format$(Now,"h") 返回值 16
       
        hh 当小于10时带0的小时数(00-23)
        Format$("7:30:28","hh") 返回值 07
       
        n 一小时的分钟数(0-59)
        Format$("7:30:28","n") 返回值 30
       
        nn 当小于10时带0的分钟数(00-59)
        Format$("7:3:28","n") 返回值 03
       
        s 一分钟中的秒数(0-59)
        Format$("7:30:8","s") 返回值 8
       
        ss 当小于10时带0的分钟数(00-59)
        Format$("7:3:8","ss") 返回值 08
       
        ttttt 标准时间,小时数当小于10时不带0,与h:mm:ss相同
        Format$("7:3:28","ttttt") 返回值 7:03:28
       
        AM/PM 显示当前为AM或为PM
        Format$(Now,"AM/PM") 返回值 PM
       
        A/P 显示当前为A或为P
        Format$(Now,"A/P") 返回值 P
       
        AMPM 对0至2359的数值进行判断是AM还是PM,可以看作是同等于对00:00至23:59的数字进行判断,如1000可以看作是10:00。
        Format$(1000,"AMPM") 返回值 AM
       
        联合格式化
       
        m/d/yy Format$(Now,"m/d/yy") 返回值 5-25-06
       
        d-mmm-yy Format$(Now,"d-mmm-yy") 返回值 25-5月-06
       
        d-mmmm Format$(Now,"d-mmmm") 返回值 25-五月
       
        mmmm-yy Format$(Now,"mmmm-yy") 返回值 五月-06
       
        hh:mm AM/PM Format$(Now,"hh:mm AM/PM") 返回值 04:50 PM
       
        h:mm:ss a/p Format$(Now,"h:mm:ss a/p") 返回值 4:51:38 p
       
        h:mm Format$(Now,"h:mm") 返回值 16:51
       
        h:mm:ss Format$(Now,"h:mm:ss") 返回值 16:51:38
       
        m/d/yy h:mm Format$(Now,"m/d/yy h:mm") 返回值 5-25-06 16:54

    ----------------------------------
    文本类型的格式化
    ----------------------------------
        ; 当两部分时,则第一部分为非空格式化,第二部分为null值或空值的格式化表达式
        @ 匹配位置插入格式化文本,占位位置不存在时,显示空白(空字符串)
       
        只有一个@符号时,是在最后面加上格式化文本
        Format$("CHIN","@a") 返回值 CHINa
       
        有多个@占位符,是按从右至左匹配,并在相应的位置上显示格式化文本
        Format$("CHIN","@a@@") 返回值 CHaIN
       
        当与 ! 配合时,则变为从左至右匹配
        Format$("CHIN","!@a@@") 返回值 CaHIN
       
        当占位符比原文本字符串多时,刚在相应位置上添加空格
        Format$("C","@@a@") 返回值 空白空白aC
       
        & 字符占位符。除在当占位位置不存在时,不显示外,其余均与@相同
       
        当占位符比原文本字符串多时,刚在相应位置上添加空格
        Format$("C","&&a&") 返回值 aC
       
        < 强制小写。将所有字符以小写格式显示。
        Format$("I love you","<") 返回值 i love you
       
        > 强制大写。将所有字符以大写格式显示。
        Format$("I love you",">") 返回值 I LOVE YOU
       
        ! 强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。
        Format$("CHIN","!@a@@") 返回值 CaHIN

    ----------------------------------------
    强制使用中文格式的日期时间
    ----------------------------------------
        aaaa 星期
        Format$(Now,"aaaa") 返回值 星期五
       
        O 中文月份
        Format$(Now,"O") 返回值 五月
       
        o 单字节月份
        Format$(Now,"o") 返回值 5月
       
        A 中文日期
        Format$(Now,"A") 返回值 二十六日
       
        a 单字节日期
        Format$(Now,"a") 返回值 26日
       
        E 短中文年份
        Format$(Now,"E") 返回值 六年
       
        e 单单字节年份
        Format$(Now,"e") 返回值 6年
       
        EE 中文年份
        Format$(Now,"EE") 返回值 二○○六年
       
        ee 单字节年份
        Format$(Now,"ee") 返回值 2006年
       
        想不到中文日期的问题就这么容易解决:
        Format$(Now,"EEOA") 返回值 二○○六年五月二十六日

  • 相关阅读:
    百度地图bd map使用方法
    Nodejs学习笔记2
    Nodejs学习笔记-1
    npm的安装和使用?
    如何使用jqueryUi的datepicker日历控件?
    如何 使用vim的 session和viminfo 恢复上一次工作的环境??
    Yii使用笔记 2
    关于link标签的用法, 不声明rel=stylesheet则无效? 在ff中必须声明rel属性!
    物联网产业链八大环节全景图
    一场改变你投资生涯的讨论:职业德州扑克手看交易
  • 原文地址:https://www.cnblogs.com/Alliumhollandicum/p/3998285.html
Copyright © 2020-2023  润新知