VBA:写入单元格时代码停止执行

时间:2019-01-10 12:05:54

标签: excel vba activex

我在Excel中遇到了VBA的问题,下面的Sub会突然停止在指示的行上执行。

子菜单的目的是每当按下工作表上的“ ckbRequestNeu”复选框时,更新两个单元格。但是,单步执行时,代码只能将单个值写入工作表。例如。如果Inp_Exists = 1,则它将写入Inp_Exists = 2,但是将立即停止,就像执行了End语句一样。

如果我再按F8继续步进,则该子项将重新启动,就好像再次单击该复选框一样。似乎ckbRequestNEU_Click事件已再次触发,但我不知道这是怎么发生的。

Private Sub ckbRequestNEU_click()

    With Worksheets("Stress Requests")

        'If an input file exists, mark it as out of date
        If .Range("InpExists").Value = 1 Then
            .Range("InpExists").Value = 2  'Code stops here
        End If

        If .ckbRequestNEU = False Then
            .Range("Request_NEU") = 0   'And here
            .ckbRequestNEU.BackColor = RGB(179, 255, 179)
        Else
            .Range("Request_NEU") = 1   'Or here
            Sheets("Stress Requests").Cells(33, 5) = 1
            .ckbRequestNEU.BackColor = RGB(0, 204, 0)
        End If

    End With

End Sub

该程序的总体目的是为一个有限元求解器创建一个文本输入文件,因此第一个If语句根据以下复选框检查该文件是否存在,并将其标记为过期:文件)已更改。

0 个答案:

没有答案