** Я новичок в VB, и я получил и ошибку 9, индекс вне диапазона. Ошибка указала, что это было в приведенной ниже процедуре. Пожалуйста, дайте мне знать, что может быть проблемой. Я ценю вашу помощь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
Какая строка выдает ошибку? Что делает 'ga_strNucFieldFormat'? – Brad
Кажется, у вас в вашей процедуре есть несколько массивов (например: 'ga_strNucFieldFormat'), определение которых мы не видим. Ваша ошибка указывает на то, что вы пытаетесь получить элемент, который не существует в любом из этих массивов. Когда вы начинаете цикл, попробуйте проверить 'LBound' и' Ubound', что-то вроде этого: 'Для intIndex = LBound (ga_strNucFieldName) To Ubound (ga_strNucFieldName)' –