excel vba end sub 后只能出现评论

excel vba only comments may appear after end sub

我正在构建一个用户窗体以将数据传输到名为 "Staff Data" 的工作表。我在网上搜索了编码并设法拼凑了以下代码 -

我好像遇到了一个绊脚石。每次我尝试单击 "Add Name" 按钮时,我都会收到以下错误代码

编译错误:在 End Sub、End Function 或 End 属性 之后可能只出现注释。我还得到了以下代码的 FrmData 部分以蓝色突出显示

If FrmData.ARLArea = True Then AreaValue = "ARL"

AreaValue 是嵌套在第 1 帧中的选项按钮 GradeValue 是嵌套在第 2 帧中的选项按钮

所以我不确定问题出在我为从选项按钮收集信息而编写的编码方式上,还是出在其他地方。

有人可以指出解决此问题的正确方向吗?

Private Sub AddName_Click()

'Variable Declaration
Dim BlnVal As Boolean

Dim RowCount As Long
Dim r As Long
Const LastRow = 2000
RowCount = Worksheets("Staff Data").Cells(Rows.Count, 1).End(xlUp).Row
 With Worksheets("Staff Data")
  .Cells(RowCount + 1, 1).Value = AreaValue.Value
  .Cells(RowCount + 1, 2).Value = FrmData.txtEmployeeNo1.Value
  .Cells(RowCount + 1, 3).Value = FrmData.txtFirstName1.Value
  .Cells(RowCount + 1, 4).Value = FrmData.txtLastName1.Value
  .Cells(RowCount + 1, 5).Value = GradeValue.Value
 End With
End Sub

    'Find Area value
    If FrmData.ARLArea = True Then AreaValue = "ARL"
    If FrmData.LSQArea = True Then AreaValue = "LSQ"
    If FrmData.KNBArea = True Then AreaValue = "KNB"
    If FrmData.RSQArea = True Then AreaValue = "RSQ"
    If FrmData.RevenueControlInspectors = True Then AreaValue = "RCI"
    If FrmData.SpecialRequirementsTeam = True Then AreaValue = "SRT"


    'Find Grade value
    If FrmData.CSA2 = True Then GradeValue = "CSA2"
    If FrmData.CSA1 = True Then GradeValue = "CSA1"
    If FrmData.CSS2 = True Then GradeValue = "CSS2"
    If FrmData.CSS1 = True Then GradeValue = "CSS1"
    If FrmData.CSM2 = True Then GradeValue = "CSM2"
    If FrmData.CSM1 = True Then GradeValue = "CSM1"
    If FrmData.AM = True Then GradeValue = "AM"
    If FrmData.RCI = True Then GradeValue = "RCI"
    If FrmData.SRT = True Then GradeValue = "SRT"

  On Error GoTo ErrOccured
    'Boolean Value
    BlnVal = 0

    'Data Validation
    Call Data_Validation

    'Check validation of all fields are completed are not
    If BlnVal = 0 Then Exit Sub


    'TurnOff screen updating
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

ErrOccured:
    'TurnOn screen updating
    Application.ScreenUpdating = True
    Application.EnableEvents = True

End Sub

您在第 17 行有一个 End Sub 语句导致您的程序看不到除此之外的任何内容。尝试删除该行并查看它是否按预期工作,或者是否还有其他尚未检测到的问题。

似乎整个部分都将被跳过

    If FrmData.ARLArea = True Then AreaValue = "ARL"
    If FrmData.LSQArea = True Then AreaValue = "LSQ"
    If FrmData.KNBArea = True Then AreaValue = "KNB"
    If FrmData.RSQArea = True Then AreaValue = "RSQ"
    If FrmData.RevenueControlInspectors = True Then AreaValue = "RCI"
    If FrmData.SpecialRequirementsTeam = True Then AreaValue = "SRT"


    'Find Grade value
    If FrmData.CSA2 = True Then GradeValue = "CSA2"
    If FrmData.CSA1 = True Then GradeValue = "CSA1"
    If FrmData.CSS2 = True Then GradeValue = "CSS2"
    If FrmData.CSS1 = True Then GradeValue = "CSS1"
    If FrmData.CSM2 = True Then GradeValue = "CSM2"
    If FrmData.CSM1 = True Then GradeValue = "CSM1"
    If FrmData.AM = True Then GradeValue = "AM"
    If FrmData.RCI = True Then GradeValue = "RCI"
    If FrmData.SRT = True Then GradeValue = "SRT"  

因为您在第 17 行和最后一行结束 sub,这看起来您可能一直在尝试关闭整个程序,或者如果检测到错误就关闭它。我不能确定。