全民一起VBA实战篇 专题3 第二回 转换日期要注意起点,匹配字符应注意方向

 

相关知识点:

Format(原文本,期望格式,firstDayOfweek,firstWeekOfYear)firstDayOfweek可取值,每周的开始,星期几开始计算;firstWeekOfYear可取值,全年的起始周(例如2019/1/1,起始周),其中VbfristFullWeek,VbfirstFourDays与一周起始的指定星期几(firstDayOfweek)有关联,例如周起始日指定星期二,那么2019/1/1就是一年整周的开始点,是完整周。

文本中含有格式符必须加反斜杠转义以后才能输出,否则输出的是格式符例5

@ 在Format中代表原文本中对应位置的一个字符,如果@的个数超过原文本的字符数,则多出来的@显示为空格;

  1. 当@个数少于原文本时,自动补齐所缺少的@符号。

  1. 当@个数多于原文本时,从右向左匹配字符,多出来的显示为空格

  1. 使用后,如果@个数少于原文本字符数,不会自动补齐,直接从右向左匹配!

  1. 使用后,如果@个数多于原来文本字符数,从左向右匹配字符,多出来的@显示为空格

例1 星期显示为中文

Sub dateformat1()

       Dim s as string, d as date

       d=Range(“d3”).Value

       ‘s=Format(d,”long date”)   ‘返回2017年10月19日

       s=Format(d,”m月第d天(公元yyyy年),aaaa”) ‘返回10月第19天(公元2017年),星期四

       MsgBox s

End Sub

例2 星期的第几天,按照欧美习惯,星期天是一周第一天。

Sub dateformat2()

       Dim s as string, d as date

       d=Range(“d3”).Value

       ‘s=Format(d,”long date”)   ‘返回2017年10月19日

       s=Format(d,”当周第w天,aaaa”) ‘当周第5天,星期四

       MsgBox s

End Sub

例3 星期的第几天,星期一作为第一天

Sub dateformat3()

       Dim s as string, d as date

       d=Range(“d3”).Value

       ‘s=Format(d,”long date”)   ‘返回2017年10月19日

       s=Format(d,”当周第w天,aaaa” ,vbMonday) ‘当周第4天,星期四

       MsgBox s

End Sub

 

例4 某一天是全年第几周

Sub dateformat4()

       Dim s as string, d as date

       d=Range(“d3”).Value

       ‘s=Format(d,”long date”)   ‘返回2017年10月19日

       s=Format(d,”本年度第w周” ) ‘本年度第42周

       MsgBox s

End Sub

例5 如果输出含有格式符的字符串,必须像正则表达式那样处理一下这个字符,加反斜杠

Sub demo()

       Msgbox Format(1234,”R\MB ####”) ‘返回RMB 1234,不加反斜杠返回R5M ####

End Sub

例6 Format处理文本,姓名变成姓,名

Sub demostr()

       s=”张宏义”

       r=Format(s,”@,”)  ‘返回 张,宏义,@在Format中代表原文本中对应位置的一个字符

       Msgbox r

End Sub

例7 !@组合实现右起取2个字符

Sub demostr7()

       Dim s as string, r as string

       s=”张弘毅”

       r=Format(s,”!@@”)  ‘返回 弘毅

       ‘r=Right(s,2)  ‘返回 弘毅

       Msgbox r

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值