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



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

前任。我有E1= "29/10/2014"

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

我想运行一个宏并将所有这些值转换为Date.我必须说我有一个 excel 表,Range A1:BJ10223和带有日期的列是 E,H,S,V,AB,AF,AJ,AL,AO,AS,AY,BE,BH。并非所有日期都反映为文本值。有些还可以。

我知道将

伪文本日期转换为实际日期值的最方便方法是通过数据 ► 数据工具 ► 文本到列命令,该命令可以在 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,它将其参数(形式上是Variant)转换为Date类型。

相关内容

  • 没有找到相关文章

最新更新