0

**我是 VB 新手,收到错误 9,下标超出范围。错误表明它在以下过程中。请让我知道可能是什么问题。感谢您的帮助

Private Sub RebuildGrid()
    Const c_strProcedureName As String = "RebuildGrid"
    Dim intIndex As Integer

    On Error GoTo Error_Handler

    For intIndex = 0 To g_intNumNucDataFields - 1
        grdNuclides.Columns(intIndex).DataField = ga_strNucFieldName(intIndex)
        grdNuclides.Columns(intIndex).Visible = False

        If StrComp(ga_strNucFieldFormat(intIndex), "None", vbTextCompare) <> 0 Then
            grdNuclides.Columns(intIndex).NumberFormat = ga_strNucFieldFormat(intIndex)
        End If

        grdNuclides.Columns(intIndex).Width = 1400

        If StrComp(LCase$(ga_strNucFieldUnits(intIndex)), "none", vbTextCompare) = 0 Then
            grdNuclides.Columns(intIndex).Caption = ga_strNucFieldTitle(intIndex)
        Else
            grdNuclides.Columns(intIndex).Caption = ga_strNucFieldTitle(intIndex) & _
            " " & vbCr & "(" & ga_strNucFieldUnits(intIndex) & ") "
        End If
        grdNuclides.Columns(intIndex).FooterText = "Reference"
    Next intIndex

    Exit Sub
Error_Handler:

    gud_PrgErr.Number = Err.Number
    gud_PrgErr.Severity = 5
    gud_PrgErr.Description = Err.Description
    gud_PrgErr.Module = c_strModuleName
    gud_PrgErr.Procedure = c_strProcedureName
    Call Display_UI_Error

End Sub

Private Sub mnuFileExit_Click()
    Unload Me
End Sub
4

1 回答 1

0

确保g_intNumNucDataFields不高于列数(例如grdNuclides.Columns.Count)。

您还可以尝试注释掉错误处理,然后运行它以查看是否获得错误的行号。

于 2013-04-10T20:15:23.837 回答