各位excel 专版的朋友,我有个问题想请教各位VBA experts。
我要在column A and column B 的每一行分别输入两个日期。
要求是
以第一行为例
1. 如果我先在column A 的A1格 输入了任意一个日期,那么在column B 的B1格必须输入一个比A1格的日期大的日期。如果在column B 的B1格输入一个比A1格的日期小的日期,就会弹出错误的信息提示。
2. 如果我先在column B 的B1格 输入了任意一个日期,那么在column A 的A1格必须输入一个比B1格的日期小的日期。如果在column A 的A1格输入一个比B1格的日期大的日期,就会弹出错误的信息提示。
以下是我写的VBA CODE
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Offset(0, 1).Value <> "" And Target.Value > Target.Offset(0, 1).Value Then
MsgBox "The date value in coumn A should less than the date value column B.", vbOKOnly, "Error Message"
Application.Undo
End If
End If
If Target.Column = 2 Then
If Target.Value <> "" And Target.Value < Target.Offset(0, -1).Value Then
MsgBox "The date value in coumn B should greater than the date value column A.", vbOKOnly, "Error Message"
Application.Undo
End If
End If
End Sub
但当我运行的时候会出现一个小bug........
那就是当我要删除两行以上的值时,就会弹出"Run-time error '13': Type mismatch"
如果我每次只删除一个格的值,就没有任何错误。。。。
希望各位VBA experts 能帮我debug一下。
谢谢。。。。。