作业帮 > 综合 > 作业

VBA IF循环有点累,请帮我合并为一个按钮.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/08 17:01:48
VBA IF循环有点累,请帮我合并为一个按钮.
Private Sub CommandButton1_Click()
If Range("_ESF2435") = "错误" Then
Dim Answer
Answer = MsgBox("合格率低于90%或者大于110%,请确定回收数量是否正确!" & Range("A2") & _
vbCrLf & vbCrLf & "确定请按“是”." & _
vbCrLf & vbCrLf & "否则,请按“否”后修改回收数量.",_
vbExclamation + vbYesNo + vbDefaultButton2,"请确认输入的回收数是否正确单")
If Answer = vbYes Then
Dim oAdd As Object
Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
bResult = oAdd.saveCase(,True,True)
If bResult = False Then
MsgBox "保存失败!"
Else
Range("E13").Select
End If
Set oAdd = Nothing
Else
Range("E13").Select
End
End If
Else
Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
bResult = oAdd.saveCase(,True,True)
If bResult = False Then
MsgBox "保存失败!"
Else
Range("E13").Select
End If
Set oAdd = Nothing
End If
End Sub
Private Sub CommandButton2_Click()
If Range("_ESF2439") > 0 Then
Dim Answer1
Answer1 = MsgBox("该工序已经存在" & Range("_ESF2439") & "张完工单,请确认是否重复输入" & _
vbCrLf & vbCrLf & "确定请按“是”." & _
vbCrLf & vbCrLf & "否则,请按“否”后修改单据.",_
vbExclamation + vbYesNo + vbDefaultButton2,"确认是否重复做单")
If Answer = vbYes Then
Dim oAdd As Object
Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
bResult = oAdd.saveCase(,True,True)
If bResult = False Then
MsgBox "保存失败!"
Else
Range("E13").Select
End If
Set oAdd = Nothing
Else
Range("E13").Select
End
End If
Else
Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
bResult = oAdd.saveCase(,True,True)
If bResult = False Then
MsgBox "保存失败!"
Else
Range("E13").Select
End If
Set oAdd = Nothing
End If
End Sub
这段代码十分诡异,后面的IF-ELSE-ENDIF嵌套匪夷所思,注释掉似乎也不影响运行逻辑啊.
Private Sub CommandButton1_Click()
If Range("_ESF2435") = "错误" Then
Dim Answer
Answer = MsgBox("合格率低于90%或者大于110%,请确定回收数量是否正确!" & Range("A2") & _
vbCrLf & vbCrLf & "确定请按“是”." & _
vbCrLf & vbCrLf & "否则,请按“否”后修改回收数量.",_
vbExclamation + vbYesNo + vbDefaultButton2,"请确认输入的回收数是否正确单")
If Answer = vbYes Then
Dim oAdd As Object
Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
bResult = oAdd.saveCase(,True,True)
If bResult = False Then
MsgBox "保存失败!"
Else
Range("E13").Select
End If
Set oAdd = Nothing
Else
Range("E13").Select
' End
End If
'Else
' Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
' bResult = oAdd.saveCase(,True,True)
' If bResult = False Then
' MsgBox "保存失败!"
' Else
' Range("E13").Select
' End If
' Set oAdd = Nothing
'End If
'End Sub
'
'Private Sub CommandButton2_Click()
If Range("_ESF2439") > 0 Then
Dim Answer1
Answer1 = MsgBox("该工序已经存在" & Range("_ESF2439") & "张完工单,请确认是否重复输入" & _
vbCrLf & vbCrLf & "确定请按“是”." & _
vbCrLf & vbCrLf & "否则,请按“否”后修改单据.",_
vbExclamation + vbYesNo + vbDefaultButton2,"确认是否重复做单")
If Answer = vbYes Then
Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
bResult = oAdd.saveCase(,True,True)
If bResult = False Then
MsgBox "保存失败!"
Else
Range("E13").Select
End If
Set oAdd = Nothing
Else
Range("E13").Select
' End
End If
'Else
' Set oAdd = Application.COMAddIns("ESClient10.Connect").Object
' bResult = oAdd.saveCase(,True,True)
' If bResult = False Then
' MsgBox "保存失败!"
' Else
' Range("E13").Select
' End If
' Set oAdd = Nothing
'End If
End Sub
再问: 那个是勤哲软件的函数
再答: 与哪个软件的函数无关,只看代码运行逻辑,那些IF嵌套有点多余了。 总之两个按钮的功能是相互独立的,可以分别点击后执行。 如果需要合并为一个按钮,就按上面提供的代码,将两个事件过程直接合并,然后删除一个重复定义的对象变量oAdd即可。