如何在代码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
)转换为Date
types。