博客
关于我
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/

    你可能感兴趣的文章
    Postgresql运维常用命令_登录_权限设置_创建用户_创建数据库_创建postgis数据库_远程连接---Postgresql工作笔记009
    查看>>
    PostgreSQL远程连接配置
    查看>>
    PostgreSQL远程连接,发生致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba.conf记录
    查看>>
    PostgreSQL配置文件--AUTOVACUUM参数
    查看>>
    PostgreSQL配置文件--QUERY TUNING
    查看>>
    PostgreSQL配置文件--WAL
    查看>>
    PostgreSQL配置文件--其他
    查看>>
    PostgreSQL配置文件--复制
    查看>>
    PostgreSQL配置文件--实时统计
    查看>>
    PostgreSQL配置文件--日志和错误
    查看>>
    PostgreSQL配置文件--资源使用(除WAL外)
    查看>>
    PostgreSQL(一)教程 -----从头开始
    查看>>
    PostgresSQL查询数据中用逗号隔开的数据以及@>与<@的区别
    查看>>
    PostGresSQL简介与Windows上的安装教程
    查看>>
    Postgres用returning实现mysql的last_insert_id
    查看>>
    postgres访问认证配置文件pg_hba.conf
    查看>>
    Postgres间隔大量写IO的解决办法
    查看>>
    Posting JSON to Spring MVC Controller
    查看>>
    Qt开发——可隐藏的对话框
    查看>>
    Qt开发——QWebEngineView简易网络浏览器(二)
    查看>>