VBA程序问题 elseif 不执行 VBA:elseif 不能执行then 后面的语句,直接跳到...
vba \u6709else\u6267\u884cif\uff0c\u6ca1else\u4e0d\u6267\u884cif\u4f60\u8bb2\u7684\u4ec0\u4e48\u610f\u601d\u5440\uff1f\uff1f\uff1f\u6655
For i = 398 To ieA.document.all.Length - 1
If UCase(ieA.document.all(i).tagname) = "A" Then
If UCase(ieA.document.all(i).outertext) = "\u8fdb\u53e3\u5927\u8c46\u4ef7\u683c\u65e5\u62a5\uff0808\u670817\u65e5\uff09" Then
MsgBox "aaaaaa"
ieA.document.all(i).Click
Else
MsgBox ieA.document.all(i).outertext
End If
Else
MsgBox ieA.document.all(i).outertext
End If
Next i
1.if \u8bed\u53e5\u51fa\u73b0\u540e\u624d\u80fd\u51fa\u73b0elseif \uff0c\u800c\u4e14\u540e\u9762\u4e0d\u80fd\u518d\u51fa\u73b0if , \u770b\u4f60\u7b2c\u4e09\u884c\u6709if \u51fa\u73b0\u3002
2.\u4f60\u7684\u8bed\u53e5\u91cc\u9762\u6700\u540e\u67092\u4e2aend if
一、错误原因:
初步估计你是End If放错了位置!
二、If条件语句的两个注意点:
1、If ... End If 是成对出现的!
2、If和If语句之间只能嵌套,不能交叉!
三、示例:
If a = 1 Then
if b = 2 Then
c = 3
End if '条件b=2的If结束语句
End if '条件a=1的If结束语句
四、所以,你的代码应该做如下修改:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim n As Integer, i As Integer
If Target.Address = "$D$7" Then
Range("E8:S8").Clear
......
For i = 2 To n
......
Next i
For i = 3 To n
......
Next i
ElseIf Target.Address = "$D$6" Then
Cells(6, 7).Clear
Cells(6, 10).Clear
If Cells(6, 4).Value = Cells(48, 28).Value Then
Cells(6, 7).Interior.ThemeColor = xlThemeColorAccent6
......
Cells(6, 10).HorizontalAlignment = xlCenter
End If '这里增加一个End If
ElseIf Target.Address = "$D$17" Then
Cells(17, 8).Clear
......
Cells(17, 8).HorizontalAlignment = xlCenter
' End If '去掉这里的End If
'End If '去掉这里的End If
End If
End Sub
扩展阅读:vba else if语句怎么用 ... vba if else 语句格式 ... vba编程必背50个程序 ... vlookup if多条件查询 ... vba if else多层 嵌套 ... if else程序流程图 ... vba里满足if多条件 ... vba循环嵌套跳出本次循环 ... if else if嵌套的执行顺序 ...