可能是
oldtime
和
newtime
两个类型取abs的时候类型不对了
你转下型试试
cint(oldtime)
cint(newtime)
-----------------------------------
如果是前一句报错
你debug一下
看循环到多少出错的
并且看看出错的单元格的内容是什么
就很容易解决了
IIf(Target = "", "", Now) 如果同时删除两个单元格,target就是一个单元格区域,这时候就不能直接用target,而必须用target.cells(1) 或者target(1)的引用方式
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then 'B列为赋值列
Target.Offset(, -1) = IIf(Target = "", "", Now) '当B列有值时在A列出现时间
End If
End Sub
第2行代码是新加入的,你试试。