用于验证CSV字段格式的Excel宏

用于验证CSV字段格式的Excel宏,excel,vba,Excel,Vba,我正在编写一个宏来读取CSV文件,其中有一个名为systemdate的字段可用,该字段的格式为yyyy-mm-dd hh:mm:ss.0 因此,在读取CSV时,我需要检查字段值,看看它是否为上述格式 例如,如果字段值为2017-04-18 12:56:32.0,则它是正确的。如果没有,那么它将抛出一个错误。使用NumberFormat来确定它。 如果您的范围在单元格A1中,请检查它,然后使用: 您可以根据需要更改该范围 Sub check_Format() Dim chk As String

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

因此,在读取CSV时,我需要检查字段值,看看它是否为上述格式


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

使用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)

嗨,它不起作用了。。请您详细说明一下,用.NumberFormat可以得到格式化单元格的字符串。将该结果与所需字符串yyyy-mm-dd hh:mm:ss.0进行比较,以查看它们是否匹配。嗨,OES,我不熟悉宏。老实说,我对宏观经济的了解很少。请您帮助我一步一步地指导我在哪里写什么。插入模块,复制上面的函数NUMFormat,如果您的数据在单元格A1中,则使用其他单元格中的函数,如B1=NUMFormatA1,以获取格式化单元格的文本字符串。如果这是你想要比较的,我们可以更进一步。。我添加了一个新模块并粘贴了函数。我的数据是C1。现在,如何在我的主模块中调用函数NUMFormat。?