Excel宏以验证CSV字段格式

时间:2017-04-18 06:55:16

标签: excel excel-vba vba

我正在编写一个宏来读取一个CSV文件,其中有一个名为systemdate的字段,该字段的格式为“yyyy-mm-dd hh:mm:ss.0”。

因此,在阅读CSV时,我需要检查字段值,看它是否采用上述格式。

例如,如果字段值是2017-04-18 12:56:32.0那么它是正确的。如果没有,则应该抛出错误。

1 个答案:

答案 0 :(得分:1)

使用NumberFormat来确定它。 如果您的范围在单元格A1中进行检查,则使用: 您可以根据需要更改该范围。

Sub check_Format()
Dim chk As String

chk = NUMFormat(Range("A1"))

If chk = "yyyy-mm-dd hh:mm:ss.0" Then
    MsgBox "Format OK"
Else
    MsgBox "Format Not OK"
End If
End Sub

Function NUMFormat(r As Range)
  NUMFormat = r.NumberFormat
End Function

您可以使用以前的功能直接在单元格中检查格式。例如在B1中写道:

=NUMFormat(A1)