将文本date与星期缩写的date转换为Exceldate格式

我想弄清楚如何从单元格中删除星期几的缩写,然后将文本stringdate转换为Exceldate格式。 这是一个总是相同的格式的例子。

周四8/24/2017

如果我手动删除星期几的字母,然后在Excel中使用文本到列function,它可以很好地转换为date格式。 文本到列function在包含日缩写的单元格上不起作用。

我正在寻找最快的方法(VBA或公式)从多列中删除这些缩写。 查找和replace为“”将是一个选项,但我希望能够减less手动和耗时的工作,因为我将定期处理这个电子表格。 预先感谢您的帮助!

使用:

=--MID(A1,FIND(" ",A1)+1,LEN(A1)) 

然后以任何你想要的方式格式化

在这里输入图像说明

您可以通过忽略“文本到列”中的第一个字段来就地完成此操作。

 With Worksheets("sheet3") With .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End(xlUp)) .TextToColumns Destination:=.Cells(1), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=False, Comma:=False, Space:=True, Other:=False, _ FieldInfo:=Array(Array(1, 9), Array(2, 3)) End With End With 

这会将您的文本转换为Exceldate格式:

 =DATEVALUE(MID(B2,4,10)) 

“2017年8月24日星期四”将以短date格式或“2017年8月24日星期四”以通用格式“2017/8/24”在“长date格式”下变为“42971”。