本文共 2278 字,大约阅读时间需要 7 分钟。
以下是实现将合同签订日期转换为英文日期的VBA代码示例
Option ExplicitSub 转换英文日期() Dim RowN As Long Dim dDate As Date For RowN = 2 To Cells(Rows.Count, "A").End(xlUp).Row dDate = Cells(RowN, "B").Value Cells(RowN, "C").Value = "'" & CStr(Format(dDate, "d MMM YYYY")) Cells(RowN, "D").Value = "'" & CStr(Format(dDate, "d MMMM YYYY")) Select Case Day(dDate) Case 1, 31 Cells(RowN, "E").Value = Format(dDate, "d"""st"" MMMM,YYYY") Case 2 Cells(RowN, "E").Value = Format(dDate, "d"""nd"" MMMM,YYYY") Case 3 Cells(RowN, "E").Value = Format(dDate, "d"""rd"" MMMM,YYYY") Case Else Cells(RowN, "E").Value = Format(dDate, "d"""th"" MMMM,YYYY") End Select NextEnd Sub
Format函数用于对日期进行格式化,常用的日期格式包括:
d MMM YYYY:天数名称,月份简称,四位年份d MMMM YYYY:天数名称,月份全名,四位年份d"st" MMMM,YYYY:天数序数词,月份全名,四位年份d"nd" MMMM,YYYY:天数序数词(如2nd),月份全名,四位年份d"rd" MMMM,YYYY:天数序数词(如3rd),月份全名,四位年份d"th" MMMM,YYYY:天数序数词(如4th),月份全名,四位年份在本代码中,Select Case语句用于根据日期的天数判断,格式化为带序数词的英文日期。具体实现如下:
DatePart函数可用于提取日期信息,常见用途包括:
DatePart("yyyy", Date)DatePart("q", Date)DatePart("m", Date)DatePart("d", Date)DatePart("h", Date)、DatePart("m", Date)、DatePart("s", Date)以下是转换后的示例输出:| 姓名 | 合同签订日期 | English Date 1 | English Date 2 | English Date 3 | English Date 4 ||------------|--------------|-----------------------|-----------------------|-----------------------|-----------------------||辛劭钧 |2010/1/1 |1 Jan 2010 |1 January 2010 |1st Jan,2010 |1st of January,2010 ||林庆荣 |2009/10/2 | | | | ||许亚瑾 |2010/1/11 | | | | ||施佳翔 |2007/12/21 | | | | ||钟皓宇 |2010/7/31 | | | | ||李志仁 |2008/1/22 | | | | ||杨婉伶 |2008/1/5 | | | | ||林艺芳 |2008/1/5 | | | | ||陈俐宁 |2009/11/15 | | | | ||李冠霆 |2009/12/8 | | | | ||吕柏贤 |2010/6/22 | | | | ||杜金佳 |2010/1/14 | | | | ||林映君 |2009/11/15 | | | | ||陈伯伦 |2010/1/14 | | | | ||柯雅文 |2010/5/9 | | | | ||陈韦志 |2010/6/5 | | | | |
转载地址:http://lywi.baihongyu.com/