我试图用这个鳕鱼来检查有效期。我之前使用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
答案 0 :(得分:0)
我不肯定这是确切的问题,但我认为你在DateDiff上的语法可能会关闭。我理解它应该是这样的:DateDiff(DateInterval.Day,Now,Sheets(“Expiry Date”)。Range(“A”&amp; LRow).Value)
答案 1 :(得分:0)
是Myles和Luke
但卢克评论是对的。我不知道为什么,但excel更改其中一个日期格式导致此问题。现在可以了。
感谢您的支持,现在它的工作非常完美。我将尝试找到代码,如果日期错误更改为..
感谢您的帮助。