比较单元格之间的日期值


  • 我正在尝试比较两个工作簿之间的单元格日期(A 列中的最后一个单元格表示 wbkA,单元格 A9 表示 wbkB(。
  • 如果 wbkB 的日期为 = wbkA-1,则显示"良好">
  • 包含日期的单元格格式:08/13/2019 00:00:00
  • 脚本似乎找到了日期,但在运行时出现类型不匹配错误。我做错了什么?

以下是脚本:

Sub CompareWorkbooks()
Dim varSheetA As Variant
Dim varSheetB As Variant
Dim dateA As String
Dim dateB As String

Set wbkA = Workbooks.Open(Filename:="C:Usersxxx2G.xlsx")
Set varSheetA = wbkA.Worksheets("2G Data")
Set wbkB = Workbooks.Open(Filename:="C:Usersxxx2G Data Traffic.xlsx")
Set varSheetB = wbkB.Worksheets("Sheet1")
dateA = wbkA.Worksheets("2G Data").Range("A" & Rows.Count).End(xlUp)
dateB = wbkB.Worksheets("Sheet1").Range("A9")
If dateB = dateA + 1 Then
MsgBox "good"
Else
MsgBox "badd"
Exit Sub
End If

End Sub

您将 dateA 和 dateB 声明为字符串,然后尝试向它们添加值并进行比较,这是行不通的。相反,请尝试将它们声明为日期:

Dim dateA As Date
Dim dateB As Date

首先将日期声明为日期。尝试使用日期添加函数。尝试将1添加到字符串或日期不会找到您要查找的内容。

下面是一个示例:

Sub CompareWorkbooks()
Dim varSheetA As Variant
Dim varSheetB As Variant
Dim dateA As Date
Dim dateB As Date

Set wbkA = Workbooks.Open(Filename:="C:Usersxxx2G.xlsx")
Set varSheetA = wbkA.Worksheets("2G Data")
Set wbkB = Workbooks.Open(Filename:="C:Usersxxx2G Data Traffic.xlsx")
Set varSheetB = wbkB.Worksheets("Sheet1")
dateA = wbkA.Worksheets("2G Data").Range("A" & Rows.Count).End(xlUp)
dateB = wbkB.Worksheets("Sheet1").Range("A9")
If dateB = DateAdd("d", 1, dateA) Then
MsgBox "good"
Else
MsgBox "badd"
Exit Sub
End If

End Sub

最新更新