如何使我的工作表更改事件不会崩溃Excel?

时间:2015-05-07 01:26:30

标签: excel-vba vba excel

![在此处输入图像描述] [1]我正在构建一个使用简单IF语句安排棒球比赛的表格。 每支球队共打8场比赛,必须打8支不同的球队,4支主场和4支球队。

这个想法是,如果在B3中输入1(其中A玩B),则单元格C2填充为0,因为两个团队不能互相玩两次。

std::thread

等等。如果我开始填写B列,它会遇到某种循环并停止运行,直到我崩溃或Excel崩溃。

如果我使用

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("B3").Value = 1 Then Range("C2").Value = 0
If Range("B4").Value = 1 Then Range("D2").Value = 0
If Range("B5").Value = 1 Then Range("E2").Value = 0

代码完全停止工作。如何让这个工具“动态”工作而不会崩溃?

http://i.stack.imgur.com/itgsq.png

P.S。不能使用求解器,因为15x15更改单元格太多

1 个答案:

答案 0 :(得分:0)

虽然你说你曾经使用过:

Application.EnableEvents = False

您是否在代码末尾将其设置为:

Application.EnableEvents = True

将它放在End Sub之前。如果你不这样做,它将不再发射。我们的想法是关闭事件以进行更改,然后在下次更新工作表时再次将其重新打开