我在sheet1中有以下代码(注意-此代码位于wroksheet对象中,而不是工作簿对象或模块中):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
r = ActiveCell.Row
Cells(r - 1, 7).Value = Now()
ActiveWorkbook.save
End Sub
谁能告诉我为什么: 1. ActiveWorkbook.save 上面不起作用 - 它反而陷入无限循环; 2. 为什么我不能通过按 F8 单步执行代码
我尝试将 ActiveWorkbook.save 放入单独的模块中,然后从工作表中的代码调用该函数,但这也陷入了无限循环。
最佳答案
您需要禁用事件以避免无限循环
Private Sub Worksheet_Change(ByVal Target As Range)
application.enableevents=false
Cells(target.row - 1, 7).Value = Now()
application.enableevents=true
ActiveWorkbook.save
End Sub
关于Excel VBA,工作表中的代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13883255/