博客
关于我
Excel 2010 VBA 入门 054 Format函数对日期格式化
阅读量:217 次
发布时间:2019-02-28

本文共 2278 字,大约阅读时间需要 7 分钟。

VBA批量转换合同签订日期为英文日期

以下是实现将合同签订日期转换为英文日期的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函数格式化日期

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语句处理序数词

在本代码中,Select Case语句用于根据日期的天数判断,格式化为带序数词的英文日期。具体实现如下:

  • Case 1, 31:天数为1或31,格式化为"1st"、"31st"
  • Case 2:天数为2,格式化为"2nd"
  • Case 3:天数为3,格式化为"3rd"
  • Case Else:其他天数,格式化为带序数词的天数(如4th)

DatePart函数获取日期信息

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 | | | | |

注意事项

  • 该代码基于Excel VBA编写,假设数据位于表单A列,合同签订日期位于表单B列
  • Format函数的格式化结果可能因Excel版本或语言设置有所不同
  • Select Case语句中的序数词格式化规则可根据实际需求进行调整
  • 若需要支持更多日期格式,可在代码中添加更多Case语句
  • 转载地址:http://lywi.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现longestCommonSubsequence最长公共子序列算法(附完整源码)
    查看>>
    Objective-C实现LongestIncreasingSubsequence最长递增子序列算法(附完整源码)
    查看>>
    Objective-C实现lorenz transformation 洛伦兹变换算法(附完整源码)
    查看>>
    Objective-C实现Lower-Upper Decomposition上下分解算法(附完整源码)
    查看>>
    Objective-C实现lowest common ancestor最低共同祖先算法(附完整源码)
    查看>>
    Objective-C实现LRU 缓存算法(附完整源码)
    查看>>
    Objective-C实现LRU缓存(附完整源码)
    查看>>
    Objective-C实现lstm prediction预测算法(附完整源码)
    查看>>
    Objective-C实现lucas数列算法(附完整源码)
    查看>>
    Objective-C实现Luhn (Mod 10)Algorithm算法(附完整源码)
    查看>>
    Objective-C实现LZW编码(附完整源码)
    查看>>
    Objective-C实现MAC桌面暗水印(附完整源码)
    查看>>
    Objective-C实现mandelbrot曼德勃罗特集算法(附完整源码)
    查看>>
    Objective-C实现markov chain马尔可夫链算法(附完整源码)
    查看>>
    Objective-C实现MATLAB中Filter函数功能(附完整源码)
    查看>>
    Objective-C实现matrix exponentiation矩阵求幂算法(附完整源码)
    查看>>
    Objective-C实现MatrixMultiplication矩阵乘法算法 (附完整源码)
    查看>>
    Objective-C实现max non adjacent sum最大非相邻和算法(附完整源码)
    查看>>
    Objective-C实现max subarray sum最大子数组和算法(附完整源码)
    查看>>
    Objective-C实现max sum sliding window最大和滑动窗口算法(附完整源码)
    查看>>