[Word,VBA]英式日期转换函数,效果如 1st Apr 2020

最近在研究Word VBA函数,看看里面是否有现成的函数,能把日期比如今天2020年4月1日转化为英式函数,最接近要求的就是Format函数,但是效果只能达到1 Apr 2020这种格式,不能忍,所以自己编写了一个函数,直接调用就好了。

废话不多说,函数代码如下:

Private Function Dayth(RepDate As Date)  '自定义英式日期转换函数如 1st Apr 2020

   Dim day1 As Integer   

   day1 = VBA.Val(Format(RepDate, "dd"))

   If day1 <> 11 And day1 <> 12 And day1 <> 13 Then  '判定日期是否为11,12,13这3个特殊日期

       Select Case day1 Mod 10
   
          Case "1"
          Dayth = CStr(day1) & "st" & VBA.Format(RepDate, " mmm yyyy")
          
          Case "2"
          Dayth = CStr(day1) & "nd" & VBA.Format(RepDate, " mmm yyyy")
          
          Case "3"
          Dayth = CStr(day1) & "rd" & VBA.Format(RepDate, " mmm yyyy")
          
          Case Else
          Dayth = CStr(day1) & "th" & VBA.Format(RepDate, " mmm yyyy")
                 
        End Select

  '其他日期均为末位加th  
   Else: Dayth = CStr(day1) & "th" & VBA.Format(RepDate, " mmm yyyy")  
   
   End If

End Function

最后在VBA的代码中调用Dayth(Now) 就可以得到今天日期的英式表达法1st Apr 2020。此函数已经通过Word中的VBA环境验证,但是没有在Excel里面测试过,感兴趣的朋友可以自行研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值