【问题标题】:Converting a date string to date type in vba excel在vba excel中将日期字符串转换为日期类型
【发布时间】:2014-09-12 10:20:03
【问题描述】:

我有一列日期从 MS Project 转换为 excel 作为字符串。 转换后的格式类似于:“March 31, 2014 8:00AM” 我想将“2014 年 3 月 31 日上午 8:00”转换为日期类型,但是,由于它没有格式化为 MM-DD-YYYY,所以我不会这样做。 有什么建议吗?

【问题讨论】:

  • VBA 中的 dt = CDate("March 31, 2014 8:00AM") 是否可以在您的 PC 上运行?这可能不是由于语言环境设置。

标签: string excel vba date


【解决方案1】:

如果值在单元格 A2 中,例如,您可以执行以下操作:

=日期(年(A2),月(A2),日(A2))

【讨论】:

    【解决方案2】:

    对于纯 VBA 解决方案,扩展 @cirrusone 的建议,试试这个:

    Public Sub lime()
    
      Dim dt As Date
    
      ' Convert the date string into a Date value.
      ' Assumes your date string is in cell A1 in the active worksheet of the active
      ' workbook.
      dt = CDate(Cells(1, 1))
    
      ' This will print the date with ".." as separators to show that it worked, i.e.
      ' it should be able to understand every part of the date string passed to it
      ' after having converted it to a Date value.
      MsgBox DatePart("d", dt) & ".." & DatePart("m", dt) & ".." & DatePart("yyyy", dt) & ".." & _
             DatePart("h", dt) & ".." & DatePart("n", dt) & ".." & DatePart("s", dt)
    
    End Sub
    

    我放了一些 cmets 来解释它在做什么。 DatePart 是一个有用的函数来提取日期的位(并且一般来说很有用)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多