Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何将定制日期转换为露营的日期?_Vba_Excel - Fatal编程技术网

Vba 如何将定制日期转换为露营的日期?

Vba 如何将定制日期转换为露营的日期?,vba,excel,Vba,Excel,我需要转换电子表格1中的自定义日期数据,以便与电子表格2中的日期数据进行比较。自定义日期数据的格式为:21/02/2014 08:09:21 a.m.,并将存储在变量Date1中。日期数据为:2014年2月21日,存储在Date2中。我只需要将日期(不带时间参数)与指令“if”进行比较,例如 我有大部分代码,因此我基本上只需要将自定义日期数据转换为日期数据,存储在变量中并进行比较。VBA解决方案: Sub timeCompare() date1 = Application.Workshe

我需要转换电子表格1中的自定义日期数据,以便与电子表格2中的日期数据进行比较。自定义日期数据的格式为:21/02/2014 08:09:21 a.m.,并将存储在变量Date1中。日期数据为:2014年2月21日,存储在Date2中。我只需要将日期(不带时间参数)与指令“if”进行比较,例如

我有大部分代码,因此我基本上只需要将自定义日期数据转换为日期数据,存储在变量中并进行比较。

VBA解决方案:

Sub timeCompare()
    date1 = Application.WorksheetFunction.Text([A1], "d/m/yyyy")
    date2 = Application.WorksheetFunction.Text([A2], "d/m/yyyy")

    If date1 = date2 Then
        MsgBox ("match")
    Else
        MsgBox ("no match")
    End If
End Sub
=IF(TEXT(A1,"d/m/yyyy")=TEXT(A2,"d/m/yyyy"),"Match","No Match")

结果:


配方溶液:

Sub timeCompare()
    date1 = Application.WorksheetFunction.Text([A1], "d/m/yyyy")
    date2 = Application.WorksheetFunction.Text([A2], "d/m/yyyy")

    If date1 = date2 Then
        MsgBox ("match")
    Else
        MsgBox ("no match")
    End If
End Sub
=IF(TEXT(A1,"d/m/yyyy")=TEXT(A2,"d/m/yyyy"),"Match","No Match")

如果int(Date1)=int(Date2),则使用

=IF(INT(A1)=INT(A2),"Match","No Match")