帮你改了一下,由于时间紧,只改了总表,
代码写得很臭,没时间仔细做优化,主要缺点是:
1,部门表 反复打开,占用I/O
2,字典反复获取,这些都是需要优化的地方.
工作忙,优化的事情,就留给更有能力的人了.
......
如果部门表也要写类似的代码,有一个问题务必注意:
总表在关闭前,向部门表写入改动后的数据,此时部门表的某些记录,由于有写入动作,
改动标志会=1,写入后,部门表关闭,但是,部门表关闭前,由于存在改动标志=1的记录,
又要向总表反写,此时总表的改动标志会=1,总表关闭前,由于存在改动标志=1的记录,又要向部门表反写......
你这个逻辑,容易引发无限循环......
这一点务必注意.
解决的办法,我大致设想了一下,可否这样:
部门表,仍用Workbook_BeforeClose() 来决定要不要向总表改写数据.代码可以仿照我的示例来写.
总表,可以添加一个可视按钮,把原来写在总表Workbook_BeforeClose中的代码移植到按钮Click事件中来,
由按钮的点击,人为的控制要不要向部门表中写数据.
我想,这样,大概可以避免无限循环,具体如何? 我没时间试验了,靠你自己了.