Excel Else无If编译错误
我不知道为什么这会抛出一个编译错误,并告诉我我有一个没有If的Else。错误在ElseIf行上。其他一切似乎都在起作用。有什么建议吗Excel Else无If编译错误,excel,if-statement,compiler-errors,excel-2007,vba,Excel,If Statement,Compiler Errors,Excel 2007,Vba,我不知道为什么这会抛出一个编译错误,并告诉我我有一个没有If的Else。错误在ElseIf行上。其他一切似乎都在起作用。有什么建议吗 If IsEmpty(Me.ComboBox15.Value) = False Then strFind = Me.ComboBox15.Value 'what to look for With Ws.Range("cGroup") 'where to look Sheet2.ListObjects("Table1").Range.
If IsEmpty(Me.ComboBox15.Value) = False Then
strFind = Me.ComboBox15.Value 'what to look for
With Ws.Range("cGroup") 'where to look
Sheet2.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:=ComboBox15.Value
Set c = .Find(strFind, LookIn:=xlValues)
'c.Select
If Not c Is Nothing Then
With Me
.ComboBox15.Value = c.Offset(0, 0).Value
.ComboBox16.Value = c.Offset(0, 1).Value
.ComboBox17.Value = c.Offset(0, 2).Value
.ComboBox1.Value = c.Offset(0, 3).Value
.ComboBox19.Value = c.Offset(0, 4).Value
r = c.Row
f = 0
End With
FirstAddress = c.Address
Else: MsgBox strFind & "Not listed" 'search failed
End If
ElseIf IsEmpty(Me.ComboBox16.Value) = False Then
strFind = Me.ComboBox16.Value 'what to look for
With Ws.Range("cGeography") 'where to look
Sheet2.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:=ComboBox16.Value
Set c = .Find(strFind, LookIn:=xlValues)
'c.Select
If Not c Is Nothing Then
With Me
.ComboBox15.Value = c.Offset(0, -1).Value
.ComboBox16.Value = c.Offset(0, 0).Value
.ComboBox17.Value = c.Offset(0, 1).Value
.ComboBox1.Value = c.Offset(0, 2).Value
r = c.Row
f = 0
End With
FirstAddress = c.Address
Else: MsgBox strFind & "Not listed" 'search failed
End If
End With
ElseIf Not IsEmpty(Me.ComboBox17.Value) Then
strFind = Me.ComboBox17.Value 'what to look for
With Ws.Range("cDept") 'where to look
Sheet2.ListObjects("Table1").Range.AutoFilter Field:=3, Criteria1:=ComboBox17.Value
Set c = .Find(strFind, LookIn:=xlValues)
'c.Select
If Not c Is Nothing Then
With Me
.ComboBox15.Value = c.Offset(0, -2).Value
.ComboBox16.Value = c.Offset(0, -1).Value
.ComboBox17.Value = c.Offset(0, 0).Value
.ComboBox1.Value = c.Offset(0, 1).Value
r = c.Row
f = 0
End With
FirstAddress = c.Address
Else: MsgBox strFind & "Not listed" 'search failed
End If
End With
Else: MsgBox "Error"
End If
对于任何格式/缩进错误,我深表歉意。我是VBA的新手。我搜索了答案,但我找到的所有东西都是这样的。这是因为有块:
从未在其所在的If块中结束。该结束If应关闭以If Not c开头的块,这算不了什么,抱歉,我不知道如何格式化它。我试图删除它以防万一,但我仍然得到相同的错误@索伦:你说得对。不是这样的。我已经更新了我的答案。成功了!!非常感谢你!!
With Ws.Range("cGroup") 'where to look