VBA - 如何删除范围单元格中的字符串

时间:2016-04-12 11:00:09

标签: vba excel-vba datetime format excel

这是我的约会Mar 30 2016 4:46:34:256PM的值,我想删除时间,使其像Mar 30 2016一样。

如果使用格式(例如mm-dd-yyyymm-dd-yyyyyyyy-mm-dd etc,我已经尝试了各种格式化格式。它正在工作,但如果尝试这个Mar 30 2016 4:46:34:256PM作为价值它不起作用。有谁能告诉我为什么?

我尝试了一个简单的代码来测试所有格式,但它没有使用此值Mar 30 2016 4:46:34:256PM,所以我决定删除4:46:34:256PM,这就是我的存货方式....

Sub formateDate()
Dim lastrow As Long

lastrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To lastrow

Cells(i, 2).NumberFormat = ("dd-mm-yyyy")
Next i
End Sub

1 个答案:

答案 0 :(得分:2)

从您的示例中,您似乎在年份编号

之后有两个连续的空格

应该总是如此,你可以像下面那样

Cells(i, 2) = Left(Cells(i, 2), InStr(Cells(i, 2), "  ") - 1)

然后你也可以分配日期格式,因为IsDate如果在结果值上调用,则WorksheetFunction返回True