首页 > 解决方案 > 没有选择案例错误的案例编译错误

问题描述

您好,我在这段代码中不断收到编译错误,找不到我缺少的内容:

Case 5 ' Base oil specification changes?
    ' search datatbl for next empty row
    rw = data.Range.Rows.Count
    If rw = 2 Then
        If data.Range(rw, 1).Value = "" Then
        rw = 1
        Else
        data.Range(rw, 1).ListObject.ListRows.Add alwaysinsert:=True
        End If
    End If
    'populate the data table
    With data
    .Range(rw, 1).Offset(1) = Date
    .Range(rw, 2).Offset(1) = "A"
    .Range(rw, 3).Offset(1) = "Marketing"
    .Range(rw, 4).Offset(1) = Me.Controls("lblA" & i).Caption
    End With
    If Me.Controls("OptA" & i & "Y") = True Then
        With data
            .Range(rw, 5).Offset(1) = Me.Controls("OptA" & i & "Y").Caption
            .Range(rw, 6).Offset(1) = Me.Controls("txtA" & i).Value
            .Range(rw, 7).Offset(1) = "PLANT"
        End With
        'add data to summary table
        r = summary.Range.Rows.Count
        If r = 2 Then
            If summary.Range(r, 1).Value = "" Then
            r = 1
            Else
             summary.Range(r, 1).ListObject.ListRows.Add alwaysinsert:=True
            End If
        End If
        With summary
            .Range(r, 1).Offset(1) = Me.Controls("lblA" & i).Caption
            .Range(r, 2).Offset(1) = Me.Controls("OptA" & i & "Y").Caption
            .Range(r, 3).Offset(1) = Me.Controls("txtA" & i).Value
            .Range(r, 4).Offset(1) = "PLANT"
        End With
    ElseIf Me.Controls("OptA" & i & "N") = True Then
        data.Range(rw, 5).Offset(1) = Me.Controls("OptA" & i & "N").Caption
    End If

标签: excelvba

解决方案


您需要添加Select Case才能使用Case正在分析的对象后面的方法。完成后,以End Select.

下面的通用示例显示了如何实现Select Case要分析的对象所在位置的基础知识Range("A1")

Select Case Range("A1")
    Case 5
        'Do something if case is met
    Case Else
        'Do something is case is Else
End Select

推荐阅读