我有一些代码可以为工作表创建一个更改日志,并且运行良好。如果我修改并出现语法错误,则VBA会像往常一样识别该错误,并且我可以更正和重置模块,但是当我这样做时,Worksheet_Change子例程会自行禁用。我还没有找到一种重新启用代码的方法,因此我必须创建一个新的工作簿并复制/粘贴代码以继续进行。有人可以告诉我为什么会发生这种情况以及如何启用事件程序吗?
答案 0 :(得分:0)
不幸的是,这种情况一直发生。典型的事件代码如下:
class MyModel(models.Model):
name = models.CharField()
balance = models.IntegerField()
@property
def get_balance(self):
if self.balance:
return self.balance
return 0.15 * 50
如果您在“执行某些操作”时遇到错误,则永远不会执行标为Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False '<==== ALPHA
' do some stuff
Application.EnableEvents = True '<=====OMEGA
End Sub
的行,并且永远不会重新启用事件。
我的建议是在标准模块中包含以下代码:
OMEGA
所以你:
Sub Re_Enable()
Application.EnableEvents = True
End Sub