Индекс ошибки 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