Excel Else无If编译错误

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的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.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