如何在代码vba中使用函数DATEVALUE

如何在VBA代码中使用函数DATEVALUE ,以便将文本中的单元格转换为Date

防爆。 我有E1= "29/10/2014"

EXCEL将其识别为文本。 如果我双击单元格,它会反转它以正确的date。

我想运行一个macros并将所有这些值转换为Date 。 我必须说,我有一个Excel表, Range A1:BJ10223和date列是E,H,S,V,AB,AF,AJ,AL,AO,AS,AY,BE,BH。 不是所有的date都反映为文本值。 有些没问题。

我知道将伪文本date转换为实际date值最方便的方法是通过数据►数据工具►文本到列命令,可以在VBA中循环使用。

 Sub TXT2DMY() Dim v As Long, vCOLs As Variant vCOLs = Array("E", "H", "S", "V", "AB", "AF", "AJ", "AL", "AO", "AS", "AY", "BE", "BH") With ActiveSheet For v = LBound(vCOLs) To UBound(vCOLs) If CBool(Application.CountA(.Columns(vCOLs(v)))) Then _ .Columns(vCOLs(v)).TextToColumns Destination:=.Columns(vCOLs(v)), _ DataType:=xlFixedWidth, FieldInfo:=Array(0, 4) Next v End With End Sub 

在较小的工作表上,差异可能并不明显,但超过500行数据的列数肯定会更快。

VBA中的等价函数是CDate ,它将参数(forms上是Variant )转换为Datetypes。