Ubound и In bound runtime error 9 vba (ошибка только в одной системе работает нормально во всех других системах) - PullRequest
0 голосов
/ 24 июня 2019

Индекс ошибки VBA runtime 9, выходящий за пределы допустимого диапазона только в одной системе, работает нормально во всех системах (ошибка вблизи ubound и lbound)

Этот код работал отлично в течение многих лет, после чего выдает ошибку только в одной системе,Я попытался обновить программное обеспечение Excel и изменить типы данных для irow и icolumn.Любая помощь приветствуется.

Sub TechHR_Refresh_Staffing(sDate As String, sLocationName As String)

Dim ws As Worksheet
Dim rng As Range
Dim sOrderDate As String
Dim sProtocolHost As String, sQueryServlet As String, sEditType As String, 
sMeasure As String
Dim sSheet As String, sTable As String
Dim sURL As String, sPost As String
Dim iRow As Long, iCol As Long, i As Long, j As Long

If (sLocationName = kLocation_Lamar1NRD) Then
    sSheet = kSheet_StaffingData
    sTable = kTable_StaffingTotals
ElseIf (sLocationName = kLocation_Lamar2NRD) Then
    sSheet = kSheet_StaffingDataL2
    sTable = kTable_StaffingTotalsL2
ElseIf (sLocationName = kLocation_Lamar1CP) Then
    sSheet = kSheet_StaffingDataCP
    sTable = kTable_StaffingTotalsCP
Else
    sSheet = kSheet_StaffingDataCPL2
    sTable = kTable_StaffingTotalsCPL2
End If

Set ws = MIRGetNamedSheet(sSheet)

ws.Columns(1).NumberFormat = "m/d/yyyy h:mm"
ws.Columns(2).NumberFormat = "@"
ws.Columns(3).NumberFormat = "@"
ws.Columns(4).NumberFormat = "0"
ws.Columns(5).NumberFormat = "0"
ws.Columns(6).NumberFormat = "0"

sOrderDate = Replace(sDate, "-", "")

sURL = kProtocolHost + kQueryServlet
sPost = "__JSScript=SOS_TempCalculator&__orderdate=" + sOrderDate + 
"&__location=" + sLocationName

If WQ_RunQuery(sURL, sPost) Then

    'Reading results and displaying them
    Dim aResults() As String
    Dim bHasResults As Boolean

    iRow = 0
    While WQ_ParseResults(aResults)
        For i = LBound(aResults, 1) To UBound(aResults, 1)
            iRow = iRow + 1
            iCol = 1
            For j = LBound(aResults, 2) To UBound(aResults, 2)
                ws.Cells(iRow, iCol).Value = aResults(i, j)
                iCol = iCol + 1
            Next j
        Next i
        bHasResults = True
    Wend


   'Code error in the line below
    iRow = UBound(aResults, 1) - LBound(aResults, 1) + 1
    iCol = UBound(aResults, 2) - LBound(aResults, 2) + 1
    Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(iRow, iCol))

    ws.ListObjects.Add(xlSrcRange, rng, , xlYes).Name = sTable
End If

Exit Sub

End Sub

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...