ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-04-03 09:08:12  阅读:266  来源: 互联网

标签:VBA 函数 Dayth Apr Format RepDate day1 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里面测试过,感兴趣的朋友可以自行研究。

标签:VBA,函数,Dayth,Apr,Format,RepDate,day1,2020
来源: https://blog.csdn.net/qcz00622/article/details/105244596

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有