Excel论坛用于将文本转换为日期,日期和日期时间

时间:2015-09-24 13:40:07

标签: excel excel-vba excel-formula vba

我的列中填充了以下文本数据

Sun Aug 30 23:49:00 IST 2015 

我需要分成三列:

  1. 时间“23:49:00”
  2. 日期“2015年8月30日”和
  3. Day“Sun”。

2 个答案:

答案 0 :(得分:1)

您可以在没有宏的情况下执行此操作,但如果需要宏作为更大努力的一部分,则:

Sub dural()
   Dim v As String, r As Range
   For Each r In Intersect(Range("A:A"), ActiveSheet.UsedRange)
      v = r.Value
      If v <> "" Then
         ary = Split(v, " ")
         r.Offset(0, 1) = ary(3)
         r.Offset(0, 2) = ary(1) & " " & ary(2) & " " & ary(5)
         r.Offset(0, 3) = ary(0)
      End If
   Next r
End Sub

enter image description here

可以调整代码以处理您选择的列。

答案 1 :(得分:0)

如果您尝试阅读的日期在单元格A1中,则以下三个公式将起作用:

=LEFT(A1, 3)

日期

=TRIM(MID(A1, 5, 6)) & RIGHT(A1, 5)

时间

=TRIM(MID(A1, 11, 9))