在VBA代码到期日期检查中输入不匹配

时间:2014-08-15 12:50:46

标签: excel vba date type-mismatch

我试图用这个鳕鱼来检查有效期。我之前使用Code打开不同的文件和复制单元格如下。请任何人可以帮助我为什么我有运行时错误13类型不匹配。有任何想法吗 ?? 我试图将If空单元格退出sub但仍然相同:(

    Set wkbData = Workbooks.Open(Filename, , True)
    wkbData.Sheets("IBL").Range("H1:I100").Cells.Copy
    wkbSource.Sheets("Expiry Date").Range("A1").PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
    wkbData.Close
    Dim LRow As Integer
    Dim LResponse As Integer
    Dim LName As String
    Dim LDiff As Integer
    Dim LDays As Integer
    LRow = 2
    LDays = 31
    While LRow < 200
        If Len(Sheets("Expiry Date").Range("A" & LRow).Value) > 0 Then
            If Len(Sheets("Expiry Date").Range("A" & LRow).Value) = "" Then Exit Sub
                LDiff = DateDiff("d", Date, Sheets("Expiry Date").Range("A" & LRow).Value)
                If (LDiff > 0) And (LDiff <= LDays) Then
                    LName = Sheets("Expiry Date").Range("B" & LRow).Value
                    LResponse = MsgBox("The Juice " & LName & " will expire in " & LDiff & " days.", vbCritical, "Warning")
                End If
            End If
            LRow = LRow + 1
            Worksheets(1).Activate
    Wend
End Sub

2 个答案:

答案 0 :(得分:0)

我不肯定这是确切的问题,但我认为你在DateDiff上的语法可能会关闭。我理解它应该是这样的:DateDiff(DateInterval.Day,Now,Sheets(“Expiry Date”)。Range(“A”&amp; LRow).Value)

答案 1 :(得分:0)

是Myles和Luke

但卢克评论是对的。我不知道为什么,但excel更改其中一个日期格式导致此问题。现在可以了。

感谢您的支持,现在它的工作非常完美。我将尝试找到代码,如果日期错误更改为..

感谢您的帮助。